diff options
-rw-r--r-- | machine/encoding.h | 1 | ||||
-rw-r--r-- | machine/minit.c | 4 |
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')) |