aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-05-12 04:02:11 -0400
committerDavid S. Miller <davem@davemloft.net>2012-05-12 04:02:11 -0400
commit9b4c514ad218cbefaf13375f11578ef1d78701ff (patch)
tree0b4c58fbfb44a9e3544660fec9c6ee01a632f2a9
parentee906c9e0bc9d3cc7fdfe82fb30f3c3c1318c3ef (diff)
sparc32: Add back early sun4/sun4c detection so we can warn properly.
We need to do the check before we try to remap the kernel using SRMMU operations. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/kernel/head_32.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/sparc/kernel/head_32.S b/arch/sparc/kernel/head_32.S
index ea45894db0bd..0d01798bb120 100644
--- a/arch/sparc/kernel/head_32.S
+++ b/arch/sparc/kernel/head_32.S
@@ -532,6 +532,29 @@ copy_prom_done:
532 be go_to_highmem ! this will be a nop then 532 be go_to_highmem ! this will be a nop then
533 nop 533 nop
534 534
535 /* Validate that we are in fact running on an
536 * SRMMU based cpu.
537 */
538 set 0x4000, %g6
539 cmp %g7, %g6
540 bne not_a_sun4
541 nop
542
543halt_sun4_or_sun4c:
544 ld [%g7 + 0x68], %o1
545 set sun4c_notsup, %o0
546 sub %o0, %l6, %o0
547 call %o1
548 nop
549 ba halt_me
550 nop
551
552not_a_sun4:
553 lda [%g0] ASI_M_MMUREGS, %g1
554 andcc %g1, 1, %g0
555 be halt_sun4_or_sun4c
556 nop
557
535srmmu_remap: 558srmmu_remap:
536 /* First, check for a viking (TI) module. */ 559 /* First, check for a viking (TI) module. */
537 set 0x40000000, %g2 560 set 0x40000000, %g2