aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--machine/encoding.h1
-rw-r--r--machine/minit.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/machine/encoding.h b/machine/encoding.h
index c109ce1..20c44b9 100644
--- a/machine/encoding.h
+++ b/machine/encoding.h
@@ -14,6 +14,7 @@
#define MSTATUS_SPP 0x00000100
#define MSTATUS_HPP 0x00000600
#define MSTATUS_MPP 0x00001800
+#define MSTATUS_VS 0x01800000
#define MSTATUS_FS 0x00006000
#define MSTATUS_XS 0x00018000
#define MSTATUS_MPRV 0x00020000
diff --git a/machine/minit.c b/machine/minit.c
index 963010d..8c98e2b 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -27,6 +27,10 @@ static void mstatus_init()
if (supports_extension('F'))
write_csr(mstatus, MSTATUS_FS);
+ // Enable vector extension
+ if (supports_extension('V'))
+ write_csr(mstatus, MSTATUS_VS);
+
// Enable user/supervisor use of perf counters
if (supports_extension('S'))
write_csr(scounteren, -1);