patch-2.1.23 linux/arch/sparc64/kernel/head.S
Next file: linux/arch/sparc64/kernel/initobj.S
Previous file: linux/arch/sparc64/kernel/finitobj.S
Back to the patch index
Back to the overall index
- Lines: 61
- Date:
Sun Jan 26 12:07:09 1997
- Orig file:
v2.1.22/linux/arch/sparc64/kernel/head.S
- Orig date:
Tue Dec 31 21:41:00 1996
diff -u --recursive --new-file v2.1.22/linux/arch/sparc64/kernel/head.S linux/arch/sparc64/kernel/head.S
@@ -1,4 +1,4 @@
-/* $Id: head.S,v 1.4 1996/12/28 18:39:42 davem Exp $
+/* $Id: head.S,v 1.6 1997/01/06 20:32:44 jj Exp $
* head.S: Initial boot code for the Sparc64 port of Linux.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -7,6 +7,7 @@
#include <asm/pstate.h>
#include <asm/spitfire.h>
#include <asm/pgtable.h>
+#include <asm/errno.h>
.text
@@ -14,7 +15,6 @@
sparc64_boot:
rdpr %ver, %g1 /* Get VERSION register. */
- mov %o4, %g2 /* Get OpenPROM vector. */
/* We must be careful, 32-bit OpenBOOT will get confused if it
* tries to save away a register window to a 64-bit kernel
@@ -76,10 +76,7 @@
stx %g4, [%g7]
set nwindowsm1, %g6
stx %g5, [%g6]
- set romvec, %g7
- stx %g2, [%g7]
- set prom_sp, %g7
- stx %sp, [%g7]
+ mov %sp, %o1 ! second argument to prom_init
set swapper_pg_dir, %g6
set PAGE_OFFSET, %g4 ! this stays here for a long time
sub %g6, %g4, %g5
@@ -97,7 +94,7 @@
/* XXX Map in PROM 32-bit trampoline code. */
call prom_init
- mov %o4, %o0
+ mov %o4, %o0 ! OpenPROM cif handler
/* Off we go.... */
call start_kernel
@@ -106,9 +103,13 @@
/* Not reached... */
.data
- .align 4
- .globl nwindows, nwindowsm1, romvec, prom_sp
+ .align 8
+ .globl nwindows, nwindowsm1
nwindows: .xword 0
nwindowsm1: .xword 0
-romvec: .xword 0
-prom_sp: .xword 0
+
+ .section ".fixup",#alloc,#execinstr
+ .globl __ret_efault
+__ret_efault:
+ ret
+ restore %g0, -EFAULT, %o0
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov