Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/trap.c
Show First 20 Lines • Show All 494 Lines • ▼ Show 20 Lines | CTR4(KTR_TRAP, "%s: exception=%lu, elr=0x%lx, esr=0x%lx", | ||||
__func__, exception, frame->tf_elr, esr); | __func__, exception, frame->tf_elr, esr); | ||||
/* | /* | ||||
* Enable debug exceptions if we aren't already handling one. They will | * Enable debug exceptions if we aren't already handling one. They will | ||||
* be masked again in the exception handler's epilogue. | * be masked again in the exception handler's epilogue. | ||||
*/ | */ | ||||
switch (exception) { | switch (exception) { | ||||
case EXCP_BRK: | case EXCP_BRK: | ||||
case EXCP_BRKPT_EL1: | |||||
case EXCP_WATCHPT_EL1: | case EXCP_WATCHPT_EL1: | ||||
case EXCP_SOFTSTP_EL1: | case EXCP_SOFTSTP_EL1: | ||||
break; | break; | ||||
default: | default: | ||||
dbg_enable(); | dbg_enable(); | ||||
break; | break; | ||||
} | } | ||||
Show All 35 Lines | #ifdef KDTRACE_HOOKS | ||||
} | } | ||||
#endif | #endif | ||||
#ifdef KDB | #ifdef KDB | ||||
kdb_trap(exception, 0, frame); | kdb_trap(exception, 0, frame); | ||||
#else | #else | ||||
panic("No debugger in kernel."); | panic("No debugger in kernel."); | ||||
#endif | #endif | ||||
break; | break; | ||||
case EXCP_BRKPT_EL1: | |||||
case EXCP_WATCHPT_EL1: | case EXCP_WATCHPT_EL1: | ||||
case EXCP_SOFTSTP_EL1: | case EXCP_SOFTSTP_EL1: | ||||
#ifdef KDB | #ifdef KDB | ||||
kdb_trap(exception, 0, frame); | kdb_trap(exception, 0, frame); | ||||
#else | #else | ||||
panic("No debugger in kernel."); | panic("No debugger in kernel."); | ||||
#endif | #endif | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 216 Lines • Show Last 20 Lines |