summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/head.S
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-08-21 22:19:10 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-08-21 22:19:10 +0000
commitb5710aa33141544bf7cb9c3e509d587ff457a094 (patch)
tree40214b7ea9f82c8a48a9eaeb428c25c0565aee32 /arch/mips64/kernel/head.S
parent892bf98f0c04e9297979936d973c85e62a3f0b96 (diff)
Look ma - a tank has hit the MIPS sources ...
Diffstat (limited to 'arch/mips64/kernel/head.S')
-rw-r--r--arch/mips64/kernel/head.S55
1 files changed, 55 insertions, 0 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S
new file mode 100644
index 000000000..c5cf9d987
--- /dev/null
+++ b/arch/mips64/kernel/head.S
@@ -0,0 +1,55 @@
+/* $Id$
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Head.S contains the MIPS exception handler and startup code.
+ *
+ * Copyright (C) 1994, 1995 Waldorf Electronics
+ * Written by Ralf Baechle and Andreas Busse
+ * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999 Ralf Baechle
+ * Copyright (C) 1999 Silicon Graphics, Inc.
+ */
+#include <asm/asm.h>
+#include <asm/regdef.h>
+#include <asm/processor.h>
+#include <asm/mipsregs.h>
+#include <asm/stackframe.h>
+
+ .text
+
+EXPORT(stext) # used for profiling
+EXPORT(_stext)
+
+NESTED(kernel_entry, 16, sp) # kernel entry point
+ CLI # disable interrupts
+
+ la $28, init_task_union # init current pointer
+ daddiu t0, $28, KERNEL_STACK_SIZE-32
+ sd t0, kernelsp
+ dsubu sp, t0, 4*SZREG # init stack pointer
+
+ jal start_kernel
+1: b 1b # just in case ...
+ END(kernel_entry)
+
+ .comm kernelsp, 8, 8 # current stackpointer
+
+#define PAGE_SIZE 0x1000
+
+ .macro page name
+ .globl \name
+ .org . + PAGE_SIZE
+\name: .size \name, PAGE_SIZE
+ .type \name, @object
+ .endm
+
+ .data
+
+ page swapper_pg_dir
+ page empty_bad_page
+ page empty_bad_page_table
+ page invalid_pte_table
+
+ .align 13