Changeset View
Changeset View
Standalone View
Standalone View
sys/mips/mips/trap.c
Show First 20 Lines • Show All 734 Lines • ▼ Show 20 Lines | nogo: | ||||
if (!usermode) { | if (!usermode) { | ||||
if (td->td_pcb->pcb_onfault != NULL) { | if (td->td_pcb->pcb_onfault != NULL) { | ||||
pc = (register_t)(intptr_t)td->td_pcb->pcb_onfault; | pc = (register_t)(intptr_t)td->td_pcb->pcb_onfault; | ||||
td->td_pcb->pcb_onfault = NULL; | td->td_pcb->pcb_onfault = NULL; | ||||
return (pc); | return (pc); | ||||
} | } | ||||
goto err; | goto err; | ||||
} | } | ||||
addr = trapframe->pc; | addr = trapframe->badvaddr; | ||||
msg = "BAD_PAGE_FAULT"; | msg = "BAD_PAGE_FAULT"; | ||||
log_bad_page_fault(msg, trapframe, type); | log_bad_page_fault(msg, trapframe, type); | ||||
break; | break; | ||||
} | } | ||||
case T_ADDR_ERR_LD + T_USER: /* misaligned or kseg access */ | case T_ADDR_ERR_LD + T_USER: /* misaligned or kseg access */ | ||||
▲ Show 20 Lines • Show All 953 Lines • Show Last 20 Lines |