summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_illegal_insn.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbi/sbi_illegal_insn.c')
-rw-r--r--lib/sbi/sbi_illegal_insn.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/sbi/sbi_illegal_insn.c b/lib/sbi/sbi_illegal_insn.c
index ecd3508..9691bce 100644
--- a/lib/sbi/sbi_illegal_insn.c
+++ b/lib/sbi/sbi_illegal_insn.c
@@ -40,6 +40,7 @@ static int misc_mem_opcode_insn(ulong insn, struct sbi_trap_regs *regs)
/* Errata workaround: emulate `fence.tso` as `fence rw, rw`. */
if ((insn & INSN_MASK_FENCE_TSO) == INSN_MATCH_FENCE_TSO) {
smp_mb();
+ regs->mepc += 4;
return 0;
}