# use this in the simulator
class PIb:
+ INVALID = 33 # 1 for an invalid mem err
+ PERMERR = 35 # 1 for an permanent mem err
TM_BAD_THING = 42 # 1 for a TM Bad Thing type interrupt
FP = 43 # 1 if FP exception
ILLEG = 44 # 1 if illegal instruction (not doing hypervisor)
TRAP = 1<<2
ADDR = 1<<3
EINT = 1<<4 # external interrupt
- ILLEG = 1<<5 # currently the max, therefore traptype must be 5 bits
+ DEC = 1<<5 # decrement counter
+ MEMEXC = 1<<6 # LD/ST exception
+ ILLEG = 1<<7 # currently the max
# TODO: support for TM_BAD_THING (not included yet in trap main_stage.py)
- size = 6 # MUST update this to contain the full number of Trap Types
+ size = 8 # MUST update this to contain the full number of Trap Types