Use mstatus.MPP to check existence of U-mode misa is allowed to be hardwired to 0, so checking its U bit could incorrectly suggest that U-mode is not supported.
Declare trap handlers as global symbols. (#87) This allows them to be referenced by other files, such as a test environment that lives in a separate compilation unit.
Fix rv64mi-csr for the case where U-mode is not available. (#86)
rv64[ms]i-csr: Only emit F instructions when compiled for F.
Check UXL in sstatus
Make sure FP stores don't write memory if mstatus.FS=0.
Update to new breakpoint & counter spec
skip user-mode trap tests in rv32mi/rv64mi-p-csr if no user mode
Remove instruction width assumptions to support RVC
ERET -> xRET; new memory map For now, we no longer build hex files, because the programs don't start at address 0. This decision will likely be revisited.
Some S-mode tests really only belong in M-mode
WIP on priv spec v1.9
Update to privileged architecture version 1.7
split out S-mode tests and M-mode tests
Merge [shm]call into ecall, [shm]ret into eret
Update to new privileged spec
Add LICENSE
Add rv32si tests, including illegality of shamt[5]
Make CSR test much more robust
Add CSRRx/CSRRxI test