patch-2.2.14 linux/arch/sparc64/kernel/head.S
Next file: linux/arch/sparc64/kernel/ioctl32.c
Previous file: linux/arch/sparc64/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 70
- Date:
Tue Jan 4 10:12:13 2000
- Orig file:
v2.2.13/linux/arch/sparc64/kernel/head.S
- Orig date:
Tue Jan 4 11:10:32 2000
diff -u --recursive --new-file v2.2.13/linux/arch/sparc64/kernel/head.S linux/arch/sparc64/kernel/head.S
@@ -1,4 +1,4 @@
-/* $Id: head.S,v 1.60.2.2 1999/08/19 01:11:12 davem Exp $
+/* $Id: head.S,v 1.60.2.4 1999/11/12 15:45:47 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 @@
.ascii "HdrS"
.word LINUX_VERSION_CODE
- .half 0x0202 /* HdrS version */
+ .half 0x0203 /* HdrS version */
root_flags:
.half 1
root_dev:
@@ -65,6 +65,7 @@
.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 @@
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
@@ -379,7 +358,7 @@
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
@@ -403,7 +382,7 @@
set_worklist:
sllx %g1, 7, %g1
add %g5, %g1, %g5
- add %g5, 64, %g1
+ add %g5, 64, %g6
#endif
/* Kill PROM timer */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)