summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-06-08 01:11:46 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-06-08 01:11:46 +0000
commitb047e7579dd01cfc5f8a2d3ee8adc93ea4b29694 (patch)
treee2f9049c9d7bb9945d891f62d1d7a4606f66b3f3
parent62038e3f2e54b1f6c130958c75875c72b13944ef (diff)
SMP Mapped kernel fixes to go along with the new layout. Use properly
massaged bootstrap address so that the PRM launches the slaves into legal code.
-rw-r--r--arch/mips64/sgi-ip27/ip27-init.c2
-rw-r--r--include/asm-mips64/sn/mapped_kernel.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/arch/mips64/sgi-ip27/ip27-init.c b/arch/mips64/sgi-ip27/ip27-init.c
index dbd51d3e6..b68ed3f72 100644
--- a/arch/mips64/sgi-ip27/ip27-init.c
+++ b/arch/mips64/sgi-ip27/ip27-init.c
@@ -448,7 +448,7 @@ void allowboot(void)
* (so that current-> works).
*/
LAUNCH_SLAVE(cputonasid(num_cpus),cputoslice(num_cpus),
- (launch_proc_t)MAPPED_KERN_RO_TO_K0(bootstrap),
+ (launch_proc_t)MAPPED_KERN_RW_TO_K0(bootstrap),
0, (void *)((unsigned long)p +
KERNEL_STACK_SIZE - 32), (void *)p);
diff --git a/include/asm-mips64/sn/mapped_kernel.h b/include/asm-mips64/sn/mapped_kernel.h
index 07e799b96..3724b2774 100644
--- a/include/asm-mips64/sn/mapped_kernel.h
+++ b/include/asm-mips64/sn/mapped_kernel.h
@@ -26,13 +26,16 @@
#ifdef CONFIG_MAPPED_KERNEL
#define MAPPED_KERN_RO_TO_PHYS(x) (x - CKSSEG)
+#define MAPPED_KERN_RW_TO_PHYS(x) (x - CKSSEG - 16777216)
#else /* CONFIG_MAPPED_KERNEL */
#define MAPPED_KERN_RO_TO_PHYS(x) (x - CKSEG0)
+#define MAPPED_KERN_RW_TO_PHYS(x) (x - CKSEG0)
#endif /* CONFIG_MAPPED_KERNEL */
#define MAPPED_KERN_RO_TO_K0(x) PHYS_TO_K0(MAPPED_KERN_RO_TO_PHYS(x))
+#define MAPPED_KERN_RW_TO_K0(x) PHYS_TO_K0(MAPPED_KERN_RW_TO_PHYS(x))
#endif __ASM_SN_MAPPED_KERNEL_H