arch-riscv: Update CSR implementations
authorAlec Roelke <ar4jc@virginia.edu>
Sun, 10 Dec 2017 19:15:51 +0000 (14:15 -0500)
committerAlec Roelke <ar4jc@virginia.edu>
Sat, 12 May 2018 19:13:05 +0000 (19:13 +0000)
commitce00e6042d996a9255960917f99009d9826b3885
tree3edaebe9648e7083a6e8e68c008147b476cefd5b
parente89e83529ad17bc1ae7ae23d337fd4067db01708
arch-riscv: Update CSR implementations

This patch updates the CSRs to match the RISC-V privileged specification
version 1.10. As interrupts, faults, and privilege levels are not yet
supported, there are no meaninful side effects that are implemented.
Performance counters are also not yet implemented, as they do not have
specifications. Currently they act as cycle counters.

Note that this implementation trusts software to use the registers
properly. Access protection, readability, and writeability of registers
based on privilege will come in a future patch.

Change-Id: I1de89bdbe369b5027911b2e6bc0425d3acaa708a
Reviewed-on: https://gem5-review.googlesource.com/7441
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Alec Roelke <ar4jc@virginia.edu>
src/arch/riscv/insts/standard.cc
src/arch/riscv/isa.cc
src/arch/riscv/isa.hh
src/arch/riscv/isa/decoder.isa
src/arch/riscv/isa/formats/standard.isa
src/arch/riscv/isa/includes.isa
src/arch/riscv/process.cc
src/arch/riscv/registers.hh
src/arch/riscv/remote_gdb.cc