diff options
author | Andrew Waterman <andrew@sifive.com> | 2020-01-11 14:48:52 -0800 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2020-01-11 14:49:08 -0800 |
commit | 77a5df569451571d608650a34183d53df99790ec (patch) | |
tree | 817efb3116f168fcc04fa1abef9181beebecfbcf /machine | |
parent | 34ceb37298b3b6cdb7eaf38dd519f564a28bfb63 (diff) | |
download | riscv-pk-77a5df569451571d608650a34183d53df99790ec.zip riscv-pk-77a5df569451571d608650a34183d53df99790ec.tar.gz riscv-pk-77a5df569451571d608650a34183d53df99790ec.tar.bz2 |
Enable vector unit if present
Diffstat (limited to 'machine')
-rw-r--r-- | machine/encoding.h | 1 | ||||
-rw-r--r-- | machine/minit.c | 4 |
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); |