Module Name: src
Committed By: matt
Date: Thu Feb 16 10:47:07 UTC 2012
Modified Files:
src/sys/arch/mips/mips [matt-nb5-mips64]: cpu_subr.c
Log Message:
When booting a N32 MP kernel, make sure to setup the ksegx mapping.
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.23 -r1.1.2.24 src/sys/arch/mips/mips/cpu_subr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/cpu_subr.c
diff -u src/sys/arch/mips/mips/cpu_subr.c:1.1.2.23 src/sys/arch/mips/mips/cpu_subr.c:1.1.2.24
--- src/sys/arch/mips/mips/cpu_subr.c:1.1.2.23 Thu Jan 19 08:28:49 2012
+++ src/sys/arch/mips/mips/cpu_subr.c Thu Feb 16 10:47:06 2012
@@ -141,7 +141,7 @@ cpu_info_alloc(struct pmap_tlb_info *ti,
const size_t ti_size = roundup2(sizeof(*ti), COHERENCY_UNIT)
+ 2*COHERENCY_UNIT;
if (cpu_info_offset >= ti_size) {
- ti = (void *) va;
+ ti = (void *) (va + cpu_info_offset - ti_size);
} else {
KASSERT(PAGE_SIZE - cpu_info_offset + sizeof(*ci) >= ti_size);
ti = (struct pmap_tlb_info *)(va + PAGE_SIZE - ti_size);
@@ -930,6 +930,10 @@ cpu_hatch(struct cpu_info *ci)
tlb_invalidate_all();
mips3_cp0_wired_write(ti->ti_wired);
+#ifdef ENABLE_MIPS_KSEGX
+ pmap_ksegx_bootstrap();
+#endif
+
/*
* Setup HWRENA and USERLOCAL COP0 registers (MIPSxxR2).
*/