patch-2.1.2 linux/arch/alpha/kernel/head.S
Next file: linux/arch/alpha/kernel/lca.c
Previous file: linux/arch/alpha/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Tue Oct 8 09:09:59 1996
- Orig file:
v2.1.1/linux/arch/alpha/kernel/head.S
- Orig date:
Mon Jul 1 20:06:05 1996
diff -u --recursive --new-file v2.1.1/linux/arch/alpha/kernel/head.S linux/arch/alpha/kernel/head.S
@@ -125,3 +125,52 @@
lda $30,0x10($30)
ret ($26)
.end wrfpcr
+
+#define ex_count 0($16)
+#define ex_r9 8($16)
+#define ex_r10 16($16)
+#define ex_r11 24($16)
+#define ex_r12 32($16)
+#define ex_r13 40($16)
+#define ex_r14 48($16)
+#define ex_r15 56($16)
+#define ex_r26 64($16)
+#define ex_r30 72($16)
+
+ .align 3
+ .globl __exception
+ .ent __exception
+__exception:
+ ldq $1,ex_count
+ bis $31,$31,$0 /* return 0 */
+ addq $1,1,$2
+ bne $1,1f /* don't save state if orig_count != 0 */
+ stq $9,ex_r9
+ stq $10,ex_r10
+ stq $11,ex_r11
+ stq $12,ex_r12
+ stq $13,ex_r13
+ stq $14,ex_r14
+ stq $15,ex_r15
+ stq $26,ex_r26
+ stq $30,ex_r30
+1: stq $2,ex_count
+ ret ($26)
+ .end __exception
+
+ .align 3
+ .globl __handle_exception
+ .ent __handle_exception
+__handle_exception:
+ ldq $9,ex_r9
+ ldq $10,ex_r10
+ ldq $11,ex_r11
+ ldq $12,ex_r12
+ ldq $13,ex_r13
+ ldq $14,ex_r14
+ ldq $15,ex_r15
+ ldq $26,ex_r26
+ ldq $30,ex_r30
+ bis $31,1,$0 /* return 1 */
+ ret ($26)
+ .end __handle_exception
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov