Browse Source

Zicfilp: Add software_check(x) macro to throw a software check exception

pull/1582/head
Ming-Yi Lai 2 years ago
parent
commit
b2a867f78e
  1. 1
      riscv/decode_macros.h
  2. 1
      riscv/trap.h

1
riscv/decode_macros.h

@ -322,6 +322,7 @@ inline long double to_f(float128_t f) { long double r; memcpy(&r, &f, sizeof(r))
#endif #endif
#define software_check(x, tval) (unlikely(!(x)) ? throw trap_software_check(tval) : (void) 0)
#define ZICFILP_xLPE(v, prv) \ #define ZICFILP_xLPE(v, prv) \
({ \ ({ \
reg_t lpe = 0ULL; \ reg_t lpe = 0ULL; \

1
riscv/trap.h

@ -119,5 +119,6 @@ DECLARE_MEM_GVA_TRAP(CAUSE_FETCH_GUEST_PAGE_FAULT, instruction_guest_page_fault)
DECLARE_MEM_GVA_TRAP(CAUSE_LOAD_GUEST_PAGE_FAULT, load_guest_page_fault) DECLARE_MEM_GVA_TRAP(CAUSE_LOAD_GUEST_PAGE_FAULT, load_guest_page_fault)
DECLARE_INST_TRAP(CAUSE_VIRTUAL_INSTRUCTION, virtual_instruction) DECLARE_INST_TRAP(CAUSE_VIRTUAL_INSTRUCTION, virtual_instruction)
DECLARE_MEM_GVA_TRAP(CAUSE_STORE_GUEST_PAGE_FAULT, store_guest_page_fault) DECLARE_MEM_GVA_TRAP(CAUSE_STORE_GUEST_PAGE_FAULT, store_guest_page_fault)
DECLARE_INST_TRAP(CAUSE_SOFTWARE_CHECK_FAULT, software_check)
#endif #endif

Loading…
Cancel
Save