diff options
author | Andrew Waterman <andrew@sifive.com> | 2020-01-13 12:14:04 -0800 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2020-01-13 12:14:04 -0800 |
commit | 6fa3555cc501ab1dfb034061e991e065e2e54253 (patch) | |
tree | 05c9e0209dd5fb26383f453fdb38bccba5218852 /machine/minit.c | |
parent | 77a5df569451571d608650a34183d53df99790ec (diff) | |
download | riscv-pk-6fa3555cc501ab1dfb034061e991e065e2e54253.zip riscv-pk-6fa3555cc501ab1dfb034061e991e065e2e54253.tar.gz riscv-pk-6fa3555cc501ab1dfb034061e991e065e2e54253.tar.bz2 |
Enable vector unit if present (continuation of 77a5df569451571d608650a34183d53df99790ec)
Diffstat (limited to 'machine/minit.c')
-rw-r--r-- | machine/minit.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/machine/minit.c b/machine/minit.c index 8c98e2b..a1befd1 100644 --- a/machine/minit.c +++ b/machine/minit.c @@ -23,13 +23,17 @@ void* kernel_end; static void mstatus_init() { + uintptr_t mstatus = 0; + // Enable FPU if (supports_extension('F')) - write_csr(mstatus, MSTATUS_FS); + mstatus |= MSTATUS_FS; // Enable vector extension if (supports_extension('V')) - write_csr(mstatus, MSTATUS_VS); + mstatus |= MSTATUS_VS; + + write_csr(mstatus, mstatus); // Enable user/supervisor use of perf counters if (supports_extension('S')) |