summaryrefslogtreecommitdiff
path: root/lib/sbi
diff options
context:
space:
mode:
authorAnup Patel <anup.patel@wdc.com>2020-09-04 14:09:49 +0300
committerAnup Patel <anup@brainfault.org>2020-09-09 07:02:04 +0300
commitc1c7c3ee9eb70e5c25914621f0363bfe244ebc79 (patch)
tree13d1fc2f881cf9390796c5e578ce7ed6b4e825a8 /lib/sbi
parentbef63d68489a3026f2fdf4c07a8915d3dcdf14cd (diff)
downloadopensbi-c1c7c3ee9eb70e5c25914621f0363bfe244ebc79.tar.xz
lib: sbi_trap: Allow M-mode to M-mode ECALLs
We should allow M-mode to M-mode ECALLs because: 1. No other mode can handle M-mode ECALLs 2. In future, we can allow M-mode baremetal application (not linked to OpenSBI) running independently and cooperatively without corrupting OpenSBI M-mode state (CSRs and memory). Signed-off-by: Anup Patel <anup.patel@wdc.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'lib/sbi')
-rw-r--r--lib/sbi/sbi_trap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/sbi/sbi_trap.c b/lib/sbi/sbi_trap.c
index b8bb20c..db5aa2f 100644
--- a/lib/sbi/sbi_trap.c
+++ b/lib/sbi/sbi_trap.c
@@ -252,6 +252,7 @@ void sbi_trap_handler(struct sbi_trap_regs *regs)
msg = "misaligned store handler failed";
break;
case CAUSE_SUPERVISOR_ECALL:
+ case CAUSE_MACHINE_ECALL:
rc = sbi_ecall_handler(regs);
msg = "ecall handler failed";
break;