Lines Matching +full:bl +full:- +full:code +full:- +full:offset
1 /* SPDX-License-Identifier: GPL-2.0 */
13 * Macros used for common Book-e exception handling
32 * Note that entries 0-3 are used for the prolog code, and the remaining
36 #define THREAD_NORMSAVE(offset) (THREAD_NORMSAVES + (offset * 4))
63 lwz r11, TASK_STACK - THREAD(r10); \
101 addi r2, r2, -THREAD
110 bl prepare_transfer_to_handler
139 lwz r1, TASK_STACK - THREAD(r10)
141 ALLOC_STACK_FRAME(r1, THREAD_SIZE - INT_FRAME_SIZE)
148 /* To handle the additional exception priority levels on Book-E
155 * is necessary since the MMU is always on, for Book-E parts, and the stacks
156 * are offset from KERNELBASE.
161 * providing configurations that micro-optimize space usage.
176 addi r8,r8,THREAD_SIZE - INT_FRAME_SIZE;
181 addi r8,r8,THREAD_SIZE - INT_FRAME_SIZE;
207 lwz r11, TASK_STACK - THREAD(r11); /* this thread's kernel stack */\
208 addi r11,r11,THREAD_SIZE - INT_FRAME_SIZE; /* allocate stack frame */\
276 * Guest Doorbell -- this is a bit odd in that uses GSRR0/1 despite
278 * inside a KVM guest -- so we just handle up to the DO_KVM rather
303 bl hdlr; \
312 bl hdlr; \
325 bl hdlr; \
337 * The exception handler was handling a non-critical interrupt, so it will
346 * If there is a single step or branch-taken exception in an \
348 * the code where the exception occurred (since exception entry \
353 mfspr r10,SPRN_DBSR; /* check single-step/branch taken */ \
396 bl DebugException; \
404 * If there is a single step or branch-taken exception in an \
406 * the code where the exception occurred (since exception entry \
411 mfspr r10,SPRN_DBSR; /* check single-step/branch taken */ \
453 bl DebugException; \
464 bl do_page_fault; \
479 li r5,0; /* Store 0 in regs->esr (dsisr) */ \
481 stw r12, _DEAR(r11); /* Set regs->dear (dar) to SRR0 */ \
483 bl do_page_fault; \
492 bl alignment_exception; \
502 bl program_check_exception; \
512 bl timer_interrupt; \
519 bl load_up_fpu; /* if from user, just load it up */ \
522 bl kernel_fp_unavailable_exception; \