]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/sparc64/kernel/trampoline.S
[SPARC64]: Warn user if cpu is ignored.
[linux-2.6-omap-h63xx.git] / arch / sparc64 / kernel / trampoline.S
index 9533a25ce5d2191f9ceb251695c0141acc78071c..04e81dda13d008b83032cc2b251759a8fe4e8417 100644 (file)
@@ -345,7 +345,7 @@ after_lock_tlb:
        sethi           %hi(tramp_stack), %g1
        or              %g1, %lo(tramp_stack), %g1
        add             %g1, TRAMP_STACK_SIZE, %g1
-       sub             %g1, STACKFRAME_SZ + STACK_BIAS, %sp
+       sub             %g1, STACKFRAME_SZ + STACK_BIAS + 256, %sp
        mov             0, %fp
 
        /* Put garbage in these registers to trap any access to them.  */
@@ -411,15 +411,38 @@ after_lock_tlb:
        sethi           %hi(kern_base), %g3
        ldx             [%g3 + %lo(kern_base)], %g3
        add             %g2, %g3, %o1
+       sethi           %hi(sparc64_ttable_tl0), %o0
 
-       call            prom_set_trap_table_sun4v
-        sethi          %hi(sparc64_ttable_tl0), %o0
+       set             prom_set_trap_table_name, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x00]
+       mov             2, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x08]
+       mov             0, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x10]
+       stx             %o0, [%sp + 2047 + 128 + 0x18]
+       stx             %o1, [%sp + 2047 + 128 + 0x20]
+       sethi           %hi(p1275buf), %g2
+       or              %g2, %lo(p1275buf), %g2
+       ldx             [%g2 + 0x08], %o1
+       call            %o1
+        add            %sp, (2047 + 128), %o0
 
        ba,pt           %xcc, 2f
         nop
 
-1:     call            prom_set_trap_table
-        sethi          %hi(sparc64_ttable_tl0), %o0
+1:     sethi           %hi(sparc64_ttable_tl0), %o0
+       set             prom_set_trap_table_name, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x00]
+       mov             1, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x08]
+       mov             0, %g2
+       stx             %g2, [%sp + 2047 + 128 + 0x10]
+       stx             %o0, [%sp + 2047 + 128 + 0x18]
+       sethi           %hi(p1275buf), %g2
+       or              %g2, %lo(p1275buf), %g2
+       ldx             [%g2 + 0x08], %o1
+       call            %o1
+        add            %sp, (2047 + 128), %o0
 
 2:     ldx             [%l0], %g6
        ldx             [%g6 + TI_TASK], %g4