aboutsummaryrefslogtreecommitdiff
path: root/machine
diff options
context:
space:
mode:
Diffstat (limited to 'machine')
-rw-r--r--machine/mentry.S3
-rw-r--r--machine/minit.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/machine/mentry.S b/machine/mentry.S
index 93c9991..9fa60ca 100644
--- a/machine/mentry.S
+++ b/machine/mentry.S
@@ -29,6 +29,9 @@ trap_table:
/* 13 */ .dc.a __trap_from_machine_mode
/* 14 */ .dc.a bad_trap
/* 15 */ .dc.a bad_trap
+ /* 16 */ .dc.a bad_trap
+ /* 17 */ .dc.a bad_trap
+ /* 18 */ .dc.a bad_trap
.option norvc
.section .text.init,"ax",@progbits
diff --git a/machine/minit.c b/machine/minit.c
index e6677e9..9b907bf 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -78,7 +78,8 @@ static void delegate_traps()
(1U << CAUSE_BREAKPOINT) |
(1U << CAUSE_LOAD_PAGE_FAULT) |
(1U << CAUSE_STORE_PAGE_FAULT) |
- (1U << CAUSE_USER_ECALL);
+ (1U << CAUSE_USER_ECALL) |
+ (1U << CAUSE_SOFTWARE_CHECK_FAULT);
write_csr(mideleg, interrupts);
write_csr(medeleg, exceptions);