Lines Matching +full:bl +full:- +full:code +full:- +full:offset

1 /* SPDX-License-Identifier: GPL-2.0
6 * Copyright (C) 2003 - 2012 Paul Mundt
11 #include <asm/asm-offsets.h>
23 * entry.S contains the system-call and fault low-level handling routines.
24 * This also contains the timer-interrupt handler, as well as all interrupts
25 * and faults that can result in a task-switch.
27 * NOTE: This code handles signal-recognition, which happens every time
28 * after a timer-interrupt and after each system call.
30 * NOTE: This code uses a convention that instructions in the delay slot
31 * of a transfer-control instruction are indented by an extra space, thus:
33 * jmp @k0 ! control-transfer instruction
77 #include <asm/entry-macros.S>
83 * k2 scratch (Exception code)
87 * k6 Global Interrupt Mask (0--15 << 4)
95 ! It can be valid access, such as stack grow and/or C-O-W.
206 ! - restore r0, r1, r2, r3, r4, r5, r6, r7 from the stack
207 ! - switch bank
208 ! - restore r8, r9, r10, r11, r12, r13, r14, r15 from the stack
209 ! - restore spc, pr*, ssr, gbr, mach, macl, skip default tra
215 ! BL=0 on entry, on exit BL=1 (depending on r8).
262 mov k3, k0 ! Calculate IMASK-bits
270 6: or k0, k2 ! Set the IMASK-bits
282 #include "../../entry-common.S"
300 ! - roll back gRB
301 ! - switch to kernel stack
320 add #-2, k0
322 ldc k0, spc ! PC = saved r0 + r15 - 2
379 ! - save default tra, macl, mach, gbr, ssr, pr* and spc on the stack
380 ! - save r15*, r14, r13, r12, r11, r10, r9, r8 on the stack
381 ! - switch bank
382 ! - save r7, r6, r5, r4, r3, r2, r1, r0 on the stack
387 ! BL=1 on entry, on exit BL=0.
390 mov #-1, r1
391 mov.l k1, @-r15 ! set TRA (default: -1)
392 sts.l macl, @-r15
393 sts.l mach, @-r15
394 stc.l gbr, @-r15
395 stc.l ssr, @-r15
396 mov.l k3, @-r15 ! original pr in k3
397 stc.l spc, @-r15
399 mov.l k0, @-r15 ! original stack pointer in k0
400 mov.l r14, @-r15
401 mov.l r13, @-r15
402 mov.l r12, @-r15
403 mov.l r11, @-r15
404 mov.l r10, @-r15
405 mov.l r9, @-r15
406 mov.l r8, @-r15
410 ! fall-through
413 ! - modify SR for bank switch
414 ! - save r7, r6, r5, r4, r3, r2, r1, r0 on the stack
424 mov.l r7, @-r15
425 mov.l r6, @-r15
426 mov.l r5, @-r15
427 mov.l r4, @-r15
428 mov.l r3, @-r15
429 mov.l r2, @-r15
430 mov.l r1, @-r15
432 mov.l r0, @-r15
449 mov #-1, k2 ! default vector kept in k2
470 mov r4, r0 ! save vector->jmp table offset for later
503 1: .long 0xcfffffff ! RB=0, BL=0