- Jul 31, 2022
-
-
Tim Newsome authored
This greatly reduces the amount of spinning in the debug loop spike does when DEBUG_ROM_FLAGS are written by the debug module, because now it's not getting a cached version over and over again. Test using riscv-tests/debug. Debugging still works.
-
Tim Newsome authored
Fixes build.
-
Tim Newsome authored
Previously gcc would complain that link.lds was mentioned twice (once on the command line and once with a -T directive.)
-
- Jul 26, 2022
-
-
Tim Newsome authored
-
- Jul 22, 2022
-
-
Andrew Waterman authored
Update for counter related CSR
-
- Jul 21, 2022
-
-
Weiwei Li authored
Normally, csrs will reuse the checks in verify_permissions of its base csr type This modification will not cause any functional change, just reuse the check in csr_t class to check whether it writes to read-only csr instead of checking writes to counter_proxy_csr_t by itself.
-
Weiwei Li authored
-
Weiwei Li authored
-
- Jul 19, 2022
-
-
Andrew Waterman authored
Hopefully for the last time :-)
-
Andrew Waterman authored
add support for m/henvcfgh and mconfigptr CSRs
-
- Jul 18, 2022
-
-
Scott Johnson authored
Fix misaligned HLV/HLVX/HSV
-
Scott Johnson authored
It was accessing memory using the current privilege mode instead of the expected guest privilege. Once #872 is fixed, I suspect we can greatly simplify this.
-
Scott Johnson authored
They were accessing memory using the current privilege mode instead of the expected guest privilege. Once #872 is fixed, I suspect we can greatly simplify this.
-
Scott Johnson authored
It was previously necessary because we were shifting left before assigning to a reg_t, but that changed in the previous commit.
-
- Jul 17, 2022
-
-
Weiwei Li authored
prv can never be larger than PRV_M
-
Weiwei Li authored
- If U-mode is not supported, then registers menvcfg and menvcfgh do not exist - Since H extension requires S-mode, and S mode can not exsit without U-mode, so senvcfg, henvcfg/henvcfgh also do not exist if U-mode is not supported
-
Weiwei Li authored
- MPRV is read-only 0 if U-mode is not supported - If U-mode is not supported, UBE is read-only 0 - If S-mode is not supported, SBE is read-only 0
-
Weiwei Li authored
the default target endian is always little endian: - mmu::is_target_big_endian() return false - sim_t::get_target_endianness() return memif_endianness_little when RISCV_ENABLE_DUAL_ENDIAN macro is undefined
-
Weiwei Li authored
separate function compute_mstatus_initial_value()
-
- Jul 16, 2022
-
-
Scott Johnson authored
Since the last step is about to get much more complex
-
Scott Johnson authored
Since the middle step is about to get much more complex
-
- Jul 15, 2022
-
-
Andrew Waterman authored
Conditionalize Smepmp extension (ePMP) support
-
- Jul 14, 2022
-
-
Weiwei Li authored
-
Weiwei Li authored
-
Scott Johnson authored
Fix #1044
-
Scott Johnson authored
These have never been logged properly.
-
Scott Johnson authored
-
Scott Johnson authored
Otherwise they will have the same problem as #1044
-
Scott Johnson authored
Use this for mstatus on RV32 so that `csrw mstatus` does not modify the bits in `mstatush`. Fixes #1044.
-
Scott Johnson authored
-
Scott Johnson authored
-
Scott Johnson authored
Mask in underlying CSR is sufficient. Mask field in rv32_high_csr_t is now unneeded and will be removed next.
-
liweiwei90 authored
-
- Jul 13, 2022
-
-
YenHaoChen authored
The mseccfg only exists when enabling the Smepmp extension. If not enabling the Smepmp extension, CSR instructions to the mseccfg raise illegal instruction faults, and the PMP behaviors as hardwiring mseccfg 0 (the reset value of mseccfg).
-
YenHaoChen authored
-
- Jul 12, 2022
-
-
Andrew Waterman authored
Add support for smstateen 1.0.0
-
YenHaoChen authored
The privileged spec allows writes to pmp(i-1)cfg with locked pmp(i)cfg (According to a recent discussion: https://github.com/riscv/riscv-isa-manual/issues/866)
-
- Jul 09, 2022