summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-06-09 02:46:11 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-06-09 02:46:11 +0000
commit60076fed0e60cbe1a307b845644cb2e9b6e320cf (patch)
tree8b4cfc76b698ea7fa79faac9a970f6d0fa61d71a
parentb2e03c8a89be152adf294f1baaadac6561b39bc6 (diff)
Each node needs to have a structure that the master nasid fills up to
tell it where to get the kernel data from (ie, which nasid holds the kernel data). Remove debug cruft from head.S.
-rw-r--r--arch/mips64/kernel/head.S1
-rw-r--r--include/asm-mips64/mmzone.h2
-rw-r--r--include/asm-mips64/sn/klkernvars.h29
3 files changed, 31 insertions, 1 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S
index 663348cc8..88133ae40 100644
--- a/arch/mips64/kernel/head.S
+++ b/arch/mips64/kernel/head.S
@@ -93,7 +93,6 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
GET_NASID_ASM
move t2, t1 # text and data are here
-1: bne t1, zero, 1b
MAPPED_KERNEL_SETUP_TLB
ARC64_TWIDDLE_PC
diff --git a/include/asm-mips64/mmzone.h b/include/asm-mips64/mmzone.h
index 795aed323..1bbb1f818 100644
--- a/include/asm-mips64/mmzone.h
+++ b/include/asm-mips64/mmzone.h
@@ -8,9 +8,11 @@
#include <asm/sn/types.h>
#include <asm/sn/addrs.h>
#include <asm/sn/arch.h>
+#include <asm/sn/klkernvars.h>
typedef struct plat_pglist_data {
pg_data_t gendata;
+ kern_vars_t kern_vars;
} plat_pg_data_t;
/*
diff --git a/include/asm-mips64/sn/klkernvars.h b/include/asm-mips64/sn/klkernvars.h
new file mode 100644
index 000000000..e8d3ff12b
--- /dev/null
+++ b/include/asm-mips64/sn/klkernvars.h
@@ -0,0 +1,29 @@
+/*
+ * File ported from IRIX to Linux by Kanoj Sarcar, 06/08/00.
+ * Copyright 2000 Silicon Graphics, Inc.
+ */
+#ifndef __ASM_SN_KLKERNVARS_H
+#define __ASM_SN_KLKERNVARS_H
+
+#include <asm/sn/types.h>
+
+#define KV_MAGIC_OFFSET 0x0
+#define KV_RO_NASID_OFFSET 0x4
+#define KV_RW_NASID_OFFSET 0x6
+
+#define KV_MAGIC 0x5f4b565f
+
+#if _LANGUAGE_C
+
+typedef struct kern_vars_s {
+ int kv_magic;
+ nasid_t kv_ro_nasid;
+ nasid_t kv_rw_nasid;
+ unsigned long kv_ro_baseaddr;
+ unsigned long kv_rw_baseaddr;
+} kern_vars_t;
+
+#endif /* _LANGUAGE_C */
+
+#endif /* __ASM_SN_KLKERNVARS_H */
+