|
|
|
@ -921,6 +921,22 @@ void processor_t::take_trap(trap_t& t, reg_t epc) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void processor_t::take_trigger_action(triggers::action_t action, reg_t breakpoint_tval, reg_t epc) |
|
|
|
{ |
|
|
|
switch (action) { |
|
|
|
case triggers::ACTION_DEBUG_MODE: |
|
|
|
enter_debug_mode(DCSR_CAUSE_HWBP); |
|
|
|
break; |
|
|
|
case triggers::ACTION_DEBUG_EXCEPTION: { |
|
|
|
trap_breakpoint trap(state.v, breakpoint_tval); |
|
|
|
take_trap(trap, epc); |
|
|
|
break; |
|
|
|
} |
|
|
|
default: |
|
|
|
abort(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void processor_t::disasm(insn_t insn) |
|
|
|
{ |
|
|
|
uint64_t bits = insn.bits(); |
|
|
|
|