aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--machine/encoding.h1
-rw-r--r--machine/minit.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/machine/encoding.h b/machine/encoding.h
index c109ce1..8dbfca4 100644
--- a/machine/encoding.h
+++ b/machine/encoding.h
@@ -104,6 +104,7 @@
#define MIP_SEIP (1 << IRQ_S_EXT)
#define MIP_HEIP (1 << IRQ_H_EXT)
#define MIP_MEIP (1 << IRQ_M_EXT)
+#define MIP_ROCC (1 << IRQ_COP)
#define SIP_SSIP MIP_SSIP
#define SIP_STIP MIP_STIP
diff --git a/machine/minit.c b/machine/minit.c
index 3623f38..456de60 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -20,7 +20,9 @@ static void mstatus_init()
{
// Enable FPU
if (supports_extension('D') || supports_extension('F'))
- write_csr(mstatus, MSTATUS_FS);
+ write_csr(mstatus, MSTATUS_FS | MSTATUS_XS);
+ else
+ write_csr(mstatus, MSTATUS_XS);
// Enable user/supervisor use of perf counters
if (supports_extension('S'))