patch-2.4.19 linux-2.4.19/arch/sparc64/kernel/rtrap.S
Next file: linux-2.4.19/arch/sparc64/kernel/sbus.c
Previous file: linux-2.4.19/arch/sparc64/kernel/ptrace.c
Back to the patch index
Back to the overall index
- Lines: 42
- Date:
Fri Aug 2 17:39:43 2002
- Orig file:
linux-2.4.18/arch/sparc64/kernel/rtrap.S
- Orig date:
Mon Feb 25 11:37:56 2002
diff -urN linux-2.4.18/arch/sparc64/kernel/rtrap.S linux-2.4.19/arch/sparc64/kernel/rtrap.S
@@ -1,4 +1,4 @@
-/* $Id: rtrap.S,v 1.57.2.1 2001/12/24 04:32:33 davem Exp $
+/* $Id: rtrap.S,v 1.57.2.2 2002/03/03 10:31:56 davem Exp $
* rtrap.S: Preparing for return from trap on Sparc V9.
*
* Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
@@ -13,7 +13,6 @@
#include <asm/visasm.h>
#include <asm/processor.h>
-#define PTREGS_OFF (STACK_BIAS + REGWIN_SZ)
#define RTRAP_PSTATE (PSTATE_RMO|PSTATE_PEF|PSTATE_PRIV|PSTATE_IE)
#define RTRAP_PSTATE_IRQOFF (PSTATE_RMO|PSTATE_PEF|PSTATE_PRIV)
#define RTRAP_PSTATE_AG_IRQOFF (PSTATE_RMO|PSTATE_PEF|PSTATE_PRIV|PSTATE_AG)
@@ -139,7 +138,7 @@
andn %l1, %l4, %l1
.align 64
- .globl rtrap_clr_l6, rtrap, irqsz_patchme
+ .globl rtrap_clr_l6, rtrap, irqsz_patchme, rtrap_xcall
rtrap_clr_l6: clr %l6
rtrap: lduw [%g6 + AOFF_task_processor], %l0
sethi %hi(irq_stat), %l2 ! &softirq_active
@@ -148,9 +147,12 @@
lduw [%l2 + %l0], %l1 ! softirq_pending
cmp %l1, 0
+ /* mm/ultra.S:xcall_report_regs KNOWS about this load. */
bne,pn %icc, __handle_softirq
ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
+
__handle_softirq_continue:
+rtrap_xcall:
sethi %hi(0xf << 20), %l4
andcc %l1, TSTATE_PRIV, %l3
and %l1, %l4, %l4
@@ -296,5 +298,3 @@
wr %g0, FPRS_DU, %fprs
ba,pt %xcc, rt_continue
stb %l5, [%g6 + AOFF_task_thread + AOFF_thread_fpdepth]
-
-#undef PTREGS_OFF
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)