mirror of
https://github.com/ringtailsoftware/uvm32.git
synced 2026-06-05 22:43:39 +00:00
Add new event type for ebreak, also report memory write error
This commit is contained in:
parent
00f1a863f3
commit
1f7132e1e8
2 changed files with 9 additions and 0 deletions
|
|
@ -309,6 +309,14 @@ uint32_t uvm32_run(uvm32_state_t *vmst, uvm32_evt_t *evt, uint32_t instr_meter)
|
|||
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
||||
setup_err_evt(vmst, evt);
|
||||
break;
|
||||
case 8:
|
||||
setStatusErr(vmst, UVM32_ERR_MEM_WR);
|
||||
setup_err_evt(vmst, evt);
|
||||
break;
|
||||
case 3: // ebreak
|
||||
vmst->_ioevt.typ = UVM32_EVT_BREAK;
|
||||
setStatus(vmst, UVM32_STATUS_PAUSED);
|
||||
break;
|
||||
default:
|
||||
// unhandled exception
|
||||
setStatusErr(vmst, UVM32_ERR_INTERNAL_CORE);
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ typedef enum {
|
|||
typedef enum {
|
||||
UVM32_EVT_ERR, /*! Error has occurred, details in uvm32_evt_t data.err field */
|
||||
UVM32_EVT_SYSCALL, /*! A syscall has been requested, details in uvm32__evt_t data.syscall field */
|
||||
UVM32_EVT_BREAK,
|
||||
UVM32_EVT_END, /*! The program has ended by making a UVM32_SYSCALL_HALT */
|
||||
} uvm32_evt_typ_t;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue