aboutsummaryrefslogtreecommitdiff
path: root/riscv/decode.h
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2021-11-08 22:03:07 -0800
committerAndrew Waterman <andrew@sifive.com>2021-11-08 22:21:44 -0800
commitad96b52e18a51519b57509ab1964c43ba9559c07 (patch)
tree9f0a1bd0d6c7ba2e70b55c97ac2d397797c80223 /riscv/decode.h
parentd2bbb60aace5ff1c851bc769f47b87d480cd19ad (diff)
downloadspike-ad96b52e18a51519b57509ab1964c43ba9559c07.zip
spike-ad96b52e18a51519b57509ab1964c43ba9559c07.tar.gz
spike-ad96b52e18a51519b57509ab1964c43ba9559c07.tar.bz2
Move definitions of P and require macros
Avoids namespace conflicts with Boost. Fixes #820 in a better way.
Diffstat (limited to 'riscv/decode.h')
-rw-r--r--riscv/decode.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/riscv/decode.h b/riscv/decode.h
index 191bf03..0ed7f37 100644
--- a/riscv/decode.h
+++ b/riscv/decode.h
@@ -174,7 +174,6 @@ private:
// helpful macros, etc
#define MMU (*p->get_mmu())
#define STATE (*p->get_state())
-#define P (*p)
#define FLEN (p->get_flen())
#define READ_REG(reg) STATE.XPR[reg]
#define READ_FREG(reg) STATE.FPR[reg]
@@ -241,7 +240,6 @@ private:
#define get_field(reg, mask) (((reg) & (decltype(reg))(mask)) / ((mask) & ~((mask) << 1)))
#define set_field(reg, mask, val) (((reg) & ~(decltype(reg))(mask)) | (((decltype(reg))(val) * ((mask) & ~((mask) << 1))) & (decltype(reg))(mask)))
-#define require(x) do { if (unlikely(!(x))) throw trap_illegal_instruction(insn.bits()); } while (0)
#define require_privilege(p) require(STATE.prv >= (p))
#define require_novirt() if (unlikely(STATE.v)) throw trap_virtual_instruction(insn.bits())
#define require_rv64 require(xlen == 64)