X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=riscv%2Fprocessor.cc;h=d23c1ea69f7a2b3aa6b61991e91730f50abf06bb;hb=95fafa8f05320a761f70bef022a05c3053ea7b27;hp=ae021657b680819b89b766eca566582731ebf29d;hpb=3177a7c5a644e9de15e6ed6aa9d3afa84043a230;p=riscv-isa-sim.git diff --git a/riscv/processor.cc b/riscv/processor.cc index ae02165..d23c1ea 100644 --- a/riscv/processor.cc +++ b/riscv/processor.cc @@ -360,10 +360,13 @@ void processor_t::set_csr(int which, reg_t val) state.mideleg = (state.mideleg & ~delegable_ints) | (val & delegable_ints); break; case CSR_MEDELEG: { - reg_t mask = 0; -#define DECLARE_CAUSE(name, value) mask |= 1ULL << (value); -#include "encoding.h" -#undef DECLARE_CAUSE + reg_t mask = + (1 << CAUSE_MISALIGNED_FETCH) | + (1 << CAUSE_BREAKPOINT) | + (1 << CAUSE_USER_ECALL) | + (1 << CAUSE_FETCH_PAGE_FAULT) | + (1 << CAUSE_LOAD_PAGE_FAULT) | + (1 << CAUSE_STORE_PAGE_FAULT); state.medeleg = (state.medeleg & ~mask) | (val & mask); break; }