Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/db_trace.c
Show First 20 Lines • Show All 86 Lines • ▼ Show 20 Lines | else if (strcmp(name, "handle_empty_exception") == 0) | ||||
frame_type = FRAME_UNHANDLED; | frame_type = FRAME_UNHANDLED; | ||||
else | else | ||||
frame_type = FRAME_NORMAL; | frame_type = FRAME_NORMAL; | ||||
if (frame_type != FRAME_NORMAL) { | if (frame_type != FRAME_NORMAL) { | ||||
struct trapframe *tf; | struct trapframe *tf; | ||||
tf = (struct trapframe *)(uintptr_t)frame->fp - 1; | tf = (struct trapframe *)(uintptr_t)frame->fp - 1; | ||||
if (!__is_aligned(tf, _Alignof(*tf)) || | if (!__is_aligned(tf, _Alignof(struct trapframe)) || | ||||
!kstack_contains(td, (vm_offset_t)tf, | !kstack_contains(td, (vm_offset_t)tf, | ||||
sizeof(*tf))) { | sizeof(*tf))) { | ||||
db_printf("--- invalid trapframe %p\n", tf); | db_printf("--- invalid trapframe %p\n", tf); | ||||
break; | break; | ||||
} | } | ||||
switch (frame_type) { | switch (frame_type) { | ||||
case FRAME_SYNC: | case FRAME_SYNC: | ||||
▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines |