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);
|
setStatusErr(vmst, UVM32_ERR_MEM_RD);
|
||||||
setup_err_evt(vmst, evt);
|
setup_err_evt(vmst, evt);
|
||||||
break;
|
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:
|
default:
|
||||||
// unhandled exception
|
// unhandled exception
|
||||||
setStatusErr(vmst, UVM32_ERR_INTERNAL_CORE);
|
setStatusErr(vmst, UVM32_ERR_INTERNAL_CORE);
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,7 @@ typedef enum {
|
||||||
typedef enum {
|
typedef enum {
|
||||||
UVM32_EVT_ERR, /*! Error has occurred, details in uvm32_evt_t data.err field */
|
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_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_END, /*! The program has ended by making a UVM32_SYSCALL_HALT */
|
||||||
} uvm32_evt_typ_t;
|
} uvm32_evt_typ_t;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue