diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-05 06:47:02 +0000 |
commit | 99a7e12f34b3661a0d1354eef83a0eef4df5e34c (patch) | |
tree | 3560aca9ca86792f9ab7bd87861ea143a1b3c7a3 /arch/sparc64/kernel/head.S | |
parent | e73a04659c0b8cdee4dd40e58630e2cf63afb316 (diff) |
Merge with Linux 2.3.38.
Diffstat (limited to 'arch/sparc64/kernel/head.S')
-rw-r--r-- | arch/sparc64/kernel/head.S | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index ad863a71d..47a170f54 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S @@ -1,4 +1,4 @@ -/* $Id: head.S,v 1.61 1999/05/25 16:53:10 jj Exp $ +/* $Id: head.S,v 1.63 1999/11/19 05:52:49 davem Exp $ * head.S: Initial boot code for the Sparc64 port of Linux. * * Copyright (C) 1996,1997 David S. Miller (davem@caip.rutgers.edu) @@ -52,7 +52,7 @@ bootup_user_stack: .ascii "HdrS" .word LINUX_VERSION_CODE - .half 0x0202 /* HdrS version */ + .half 0x0203 /* HdrS version */ root_flags: .half 1 root_dev: @@ -65,6 +65,7 @@ sparc_ramdisk_size: .word 0 .xword reboot_command .xword bootstr_len + .word _end /* We must be careful, 32-bit OpenBOOT will get confused if it * tries to save away a register window to a 64-bit kernel @@ -92,28 +93,6 @@ sparc64_boot: wrpr %g0, (PSTATE_PRIV|PSTATE_PEF|PSTATE_IE), %pstate wr %g0, 0, %fprs -#ifdef __SMP__ - /* Ugly but necessary... */ - sethi %hi(KERNBASE), %g7 - sethi %hi(sparc64_cpu_startup), %g5 - or %g5, %lo(sparc64_cpu_startup), %g5 - sub %g5, %g7, %g5 - sethi %hi(sparc64_cpu_startup_end), %g6 - or %g6, %lo(sparc64_cpu_startup_end), %g6 - sub %g6, %g7, %g6 - sethi %hi(smp_trampoline), %g3 - or %g3, %lo(smp_trampoline), %g3 - sub %g3, %g7, %g3 -1: ldx [%g5], %g1 - stx %g1, [%g3] - membar #StoreStore - flush %g3 - add %g5, 8, %g5 - cmp %g5, %g6 - blu,pt %xcc, 1b - add %g3, 8, %g3 -#endif - create_mappings: /* %g5 holds the tlb data */ sethi %uhi(_PAGE_VALID | _PAGE_SZ4MB), %g5 @@ -380,7 +359,7 @@ setup_tba: /* i0 = is_starfire */ wrpr %o1, (PSTATE_IG|PSTATE_IE), %pstate #ifndef __SMP__ sethi %hi(__up_workvec), %g5 - or %g5, %lo(__up_workvec), %g1 + or %g5, %lo(__up_workvec), %g6 #else /* By definition of where we are, this is boot_cpu. */ sethi %hi(cpu_data), %g5 @@ -404,7 +383,7 @@ not_starfire: set_worklist: sllx %g1, 7, %g1 add %g5, %g1, %g5 - add %g5, 64, %g1 + add %g5, 64, %g6 #endif /* Kill PROM timer */ |