summaryrefslogtreecommitdiff
path: root/src/arch/riscv/insts
diff options
context:
space:
mode:
authorAlec Roelke <ar4jc@virginia.edu>2018-02-18 22:28:44 -0500
committerAlec Roelke <alec.roelke@gmail.com>2018-07-28 18:48:30 +0000
commit76e7aec54256696dfdc9567c7ea325fb07c48ef1 (patch)
treea5e7ed299c1b2094bdae85f6d9ca017223dffdd8 /src/arch/riscv/insts
parent2595fe6b2834fa0af15baf6f5ad4a8f523c838a6 (diff)
downloadgem5-76e7aec54256696dfdc9567c7ea325fb07c48ef1.tar.xz
arch-riscv: Add support for trap value register
RISC-V has a set of CSRs that contain information about a trap that was taken into each privilegel level, such as illegal instruction bytes or faulting address. This patch adds that register, modifies existing faults to make use of it, and adds a new fault for future use with handling page faults and bad addresses. Change-Id: I3004bd7b907e7dc75e5f1a8452a1d74796a7a551 Reviewed-on: https://gem5-review.googlesource.com/11135 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Alec Roelke <alec.roelke@gmail.com>
Diffstat (limited to 'src/arch/riscv/insts')
-rw-r--r--src/arch/riscv/insts/unknown.hh2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/riscv/insts/unknown.hh b/src/arch/riscv/insts/unknown.hh
index 049f879de..a96474aec 100644
--- a/src/arch/riscv/insts/unknown.hh
+++ b/src/arch/riscv/insts/unknown.hh
@@ -59,7 +59,7 @@ class Unknown : public RiscvStaticInst
Fault
execute(ExecContext *, Trace::InstRecord *) const override
{
- return std::make_shared<UnknownInstFault>();
+ return std::make_shared<UnknownInstFault>(machInst);
}
std::string