]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sparc64/kernel/etrap.S
Merge branch 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux...
[linux-2.6-omap-h63xx.git] / arch / sparc64 / kernel / etrap.S
index 4b2bf9eb447a1f5eaa7c93b27627c0c217a9937b..29ce489bc1889d2b01cf59fc432562098b574e55 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: etrap.S,v 1.46 2002/02/09 19:49:30 davem Exp $
+/*
  * etrap.S: Preparing for entry into the kernel on Sparc V9.
  *
  * Copyright (C) 1996, 1997 David S. Miller (davem@caip.rutgers.edu)
 
                .text           
                .align  64
-               .globl  etrap, etrap_irq, etraptl1
+               .globl  etrap_syscall, etrap, etrap_irq, etraptl1
 etrap:         rdpr    %pil, %g2
-etrap_irq:
-               TRAP_LOAD_THREAD_REG(%g6, %g1)
+etrap_irq:     clr     %g3
+etrap_syscall: TRAP_LOAD_THREAD_REG(%g6, %g1)
                rdpr    %tstate, %g1
+               or      %g1, %g3, %g1
                sllx    %g2, 20, %g3
                andcc   %g1, TSTATE_PRIV, %g0
                or      %g1, %g3, %g1
@@ -53,7 +54,11 @@ etrap_irq:
                stx     %g3, [%g2 + STACKFRAME_SZ + PT_V9_TPC]
                rd      %y, %g3
                stx     %g1, [%g2 + STACKFRAME_SZ + PT_V9_TNPC]
+               rdpr    %tt, %g1
                st      %g3, [%g2 + STACKFRAME_SZ + PT_V9_Y]
+               sethi   %hi(PT_REGS_MAGIC), %g3
+               or      %g3, %g1, %g1
+               st      %g1, [%g2 + STACKFRAME_SZ + PT_V9_MAGIC]
 
                rdpr    %cansave, %g1
                brnz,pt %g1, etrap_save