Lines Matching refs:frame
103 print_iframe(const char *event, struct iframe *frame)
110 frame->r0, frame->r1, frame->r2, frame->r3,
111 frame->r4, frame->r5, frame->r6, frame->r7);
114 frame->r8, frame->r9, frame->r10, frame->r11,
115 frame->r12, frame->svc_sp, frame->svc_lr, frame->pc);
117 frame->usr_sp, frame->usr_lr, frame->spsr);
349 arch_arm_page_fault(struct iframe *frame, addr_t far, uint32 fsr, bool isWrite, bool isExec)
355 bool isUser = (frame->spsr & CPSR_MODE_MASK) == CPSR_MODE_USR;
359 print_iframe("Page Fault", frame);
363 IFrameScope scope(frame);
372 debug_set_page_fault_info(far, frame->pc,
374 frame->svc_sp = cpu->fault_handler_stack_pointer;
375 frame->pc = cpu->fault_handler;
382 debug_set_page_fault_info(far, frame->pc,
384 frame->pc = reinterpret_cast<uintptr_t>(thread->fault_handler);
391 "address %p from pc %p\n", (void *)far, (void *)frame->pc);
401 } else if ((frame->spsr & CPSR_I) != 0) {
410 if (frame->pc != handler) {
411 frame->pc = handler;
419 (void*)frame->pc);
425 "%p from pc %p\n", (void *)far, (void *)frame->pc);
429 "%p from pc %p\n", (void *)far, (void *)frame->pc);
435 vm_page_fault(far, frame->pc, isWrite, isExec, isUser, &newip);
440 frame->pc = newip;
446 arch_arm_data_abort(struct iframe *frame)
452 arch_arm_page_fault(frame, dfar, dfsr, isWrite, false);
457 arch_arm_prefetch_abort(struct iframe *frame)
462 arch_arm_page_fault(frame, ifar, ifsr, false, true);