diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2012-05-12 05:43:49 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-12 22:32:00 +0400 |
commit | d6ea55733ddfe0d9668096d3de78db479a83cc47 (patch) | |
tree | 85f65fadab34b548cf47a43e7e3d9f9e86e953ff /arch/sparc/kernel/head_32.S | |
parent | eb06f476309d42150a54a440d456374475aaacce (diff) | |
download | linux-d6ea55733ddfe0d9668096d3de78db479a83cc47.tar.xz |
sparc32: simpler cputype check in head_32.S
We know this is not a sun4/sun4c - as we checked earlier.
So no need to repeat the check.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/head_32.S')
-rw-r--r-- | arch/sparc/kernel/head_32.S | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/arch/sparc/kernel/head_32.S b/arch/sparc/kernel/head_32.S index 17e00c1ff5d1..9b2d43db2c46 100644 --- a/arch/sparc/kernel/head_32.S +++ b/arch/sparc/kernel/head_32.S @@ -699,35 +699,26 @@ execute_in_high_mem: ba continue_boot nop #endif + +/* Check to cputype. We may be booted on a sun4u (64 bit box), + * and sun4d needs special treatment. + */ + set cputypval, %o2 ldub [%o2 + 0x4], %l1 - cmp %l1, ' ' - be no_sun4c_here - cmp %l1, 'c' - be no_sun4c_here - cmp %l1, 'm' - be 1f + cmp %l1, 'm' + be sun4m_init cmp %l1, 's' - be 1f + be sun4m_init cmp %l1, 'd' - be 1f + be sun4d_init cmp %l1, 'e' be no_sun4e_here ! Could be a sun4e. nop b no_sun4u_here ! AIEEE, a V9 sun4u... Get our BIG BROTHER kernel :)) nop -1: set cputypval, %l1 - ldub [%l1 + 0x4], %l1 - cmp %l1, 'd' ! Let us see how the beast will die - be sun4d_init - nop - - /* If not sun4d assume sun4m */ - b sun4m_init - nop - /* CPUID in bootbus can be found at PA 0xff0140000 */ #define SUN4D_BOOTBUS_CPUID 0xf0140000 @@ -1026,13 +1017,6 @@ continue_boot: /* We should not get here. */ call halt_me nop -no_sun4c_here: - ld [%g7 + 0x68], %o1 - set sun4c_notsup, %o0 - call %o1 - nop - b halt_me - nop no_sun4e_here: ld [%g7 + 0x68], %o1 |