patch-2.4.20 linux-2.4.20/arch/mips64/kernel/head.S
Next file: linux-2.4.20/arch/mips64/kernel/i8259.c
Previous file: linux-2.4.20/arch/mips64/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Thu Nov 28 15:53:10 2002
- Orig file:
linux-2.4.19/arch/mips64/kernel/head.S
- Orig date:
Fri Aug 2 17:39:43 2002
diff -urN linux-2.4.19/arch/mips64/kernel/head.S linux-2.4.20/arch/mips64/kernel/head.S
@@ -26,7 +26,7 @@
#if defined(CONFIG_ARC64) || defined(CONFIG_MAPPED_KERNEL)
/* We get launched at a XKPHYS address but the kernel is linked to
run at a KSEG0 address, so jump there. */
- la t0, \@f
+ PTR_LA t0, \@f
jr t0
\@:
#endif
@@ -105,10 +105,23 @@
CLI # disable interrupts
- la $28, init_task_union # init current pointer
+ PTR_LA $28, init_task_union # init current pointer
daddiu sp, $28, KERNEL_STACK_SIZE-32
set_saved_sp sp, t0
+ /* The firmware/bootloader passes argc/argp/envp
+ * to us as arguments. But clear bss first because
+ * the romvec and other important info is stored there
+ * by prom_init().
+ */
+ PTR_LA t0, _edata
+ sd zero, (t0)
+ PTR_LA t1, (_end - 8)
+1:
+ daddiu t0, 8
+ sd zero, (t0)
+ bne t0, t1, 1b
+
dsubu sp, 4*SZREG # init stack pointer
j init_arch
@@ -117,7 +130,7 @@
#ifdef CONFIG_SMP
/*
* SMP slave cpus entry point. Board specific code for bootstrap calls this
- * function after setting up the stack and gp registers.
+ * function after setting up the stack and gp registers.
*/
NESTED(smp_bootstrap, 16, sp)
#ifdef CONFIG_SGI_IP27
@@ -171,7 +184,7 @@
page swapper_pg_dir, 1
page invalid_pte_table, 0
page invalid_pmd_table, 1
- page kptbl, KPTBL_PAGE_ORDER
+ page kptbl, _PGD_ORDER
.globl ekptbl
page kpmdtbl, 0
ekptbl:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)