Browse Source
Add gva field to insn_trap_t
Since breakpoint will need it soon.
pull/850/head
Scott Johnson
4 years ago
No known key found for this signature in database
GPG Key ID: 61C1F01D3D1410C9
1 changed files with
5 additions and
3 deletions
-
riscv/trap.h
|
|
|
@ -29,11 +29,13 @@ class trap_t |
|
|
|
class insn_trap_t : public trap_t |
|
|
|
{ |
|
|
|
public: |
|
|
|
insn_trap_t(reg_t which, reg_t tval) |
|
|
|
: trap_t(which), tval(tval) {} |
|
|
|
insn_trap_t(reg_t which, bool gva, reg_t tval) |
|
|
|
: trap_t(which), gva(gva), tval(tval) {} |
|
|
|
bool has_gva() override { return gva; } |
|
|
|
bool has_tval() override { return true; } |
|
|
|
reg_t get_tval() override { return tval; } |
|
|
|
private: |
|
|
|
bool gva; |
|
|
|
reg_t tval; |
|
|
|
}; |
|
|
|
|
|
|
|
@ -62,7 +64,7 @@ class mem_trap_t : public trap_t |
|
|
|
|
|
|
|
#define DECLARE_INST_TRAP(n, x) class trap_##x : public insn_trap_t { \ |
|
|
|
public: \ |
|
|
|
trap_##x(reg_t tval) : insn_trap_t(n, tval) {} \ |
|
|
|
trap_##x(reg_t tval) : insn_trap_t(n, /*gva*/false, tval) {} \ |
|
|
|
const char* name() { return "trap_"#x; } \ |
|
|
|
}; |
|
|
|
|
|
|
|
|