diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-08-11 19:10:51 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2013-08-11 19:10:51 -0700 |
commit | 04c2d491c4bbb424a59273d4ebee62ddfe3379f9 (patch) | |
tree | adbbe9bc3d7694c289aa7d18cf4a425d106a1c4a /riscv/trap.cc | |
parent | b0af18ed449fb433ae5fce1cf8eb5e1e25ae9190 (diff) | |
download | riscv-isa-sim-04c2d491c4bbb424a59273d4ebee62ddfe3379f9.zip riscv-isa-sim-04c2d491c4bbb424a59273d4ebee62ddfe3379f9.tar.gz riscv-isa-sim-04c2d491c4bbb424a59273d4ebee62ddfe3379f9.tar.bz2 |
Instructions are no longer member functions
Diffstat (limited to 'riscv/trap.cc')
-rw-r--r-- | riscv/trap.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/riscv/trap.cc b/riscv/trap.cc index ba0d867..ead3a00 100644 --- a/riscv/trap.cc +++ b/riscv/trap.cc @@ -1,12 +1,15 @@ -// See LICENSE for license details. - #include "trap.h" +#include "processor.h" +#include <cstdio> -const char* trap_name(trap_t t) +const char* trap_t::name() { - #define DECLARE_TRAP(x) "trap_"#x - static const char* names[] = { TRAP_LIST }; - #undef DECLARE_TRAP + const char* fmt = uint8_t(which) == which ? "trap #%u" : "interrupt #%u"; + sprintf(_name, fmt, uint8_t(which)); + return _name; +} - return (unsigned)t >= sizeof(names)/sizeof(names[0]) ? "unknown" : names[t]; +void mem_trap_t::side_effects(state_t* state) +{ + state->badvaddr = badvaddr; } |