PERFORCE change 207172 for review
Robert Watson
rwatson at FreeBSD.org
Thu Mar 1 18:14:47 UTC 2012
http://p4web.freebsd.org/@@207172?ac=10
Change 207172 by rwatson at rwatson_svr_ctsrd_mipsbuild on 2012/03/01 18:13:51
Revert an early de facto design choice in FreeBSD/CHERI that placed
the FreeBSD kernel in the MIPS xphys segment. Instead, place the
kernel in ckseg, where it expects to be -- there are a number of
implicit assumptions in the kernel exception handler and elsewhere
which are worth fixing, but don't have to be fixed yet. I've also
shifted the kernel slightly higher in physical memory to move it
away from the MIPS exception vectors, etc. It can probably be
moved back down a bit to recover some physical memory, at some
point. Alternatively, we might move the boot stack to that area
in miniboot.
(As Marko Zec has pointed out, the change I made to the exception
handler was also 64-bit specific due to using dla, which was easy
to fix, and is worth doing later when we revisit this.)
Affected files ...
.. //depot/projects/ctsrd/beribsd/src/sys/mips/conf/BERI#3 edit
.. //depot/projects/ctsrd/beribsd/src/sys/mips/mips/exception.S#5 edit
Differences ...
==== //depot/projects/ctsrd/beribsd/src/sys/mips/conf/BERI#3 (text+ko) ====
@@ -14,7 +14,7 @@
makeoptions ARCH_FLAGS="-march=mips64 -mabi=64"
-makeoptions KERNLOADADDR=0x9800000000000000
+makeoptions KERNLOADADDR=0xffffffff80100000
include "../beri/std.beri"
==== //depot/projects/ctsrd/beribsd/src/sys/mips/mips/exception.S#5 (text+ko) ====
@@ -90,8 +90,7 @@
VECTOR(MipsTLBMiss, unknown)
.set push
.set noat
- dla k0, MipsDoTLBMiss
- jr k0
+ j MipsDoTLBMiss
MFC0 k0, MIPS_COP_0_BAD_VADDR # get the fault address
.set pop
VECTOR_END(MipsTLBMiss)
More information about the p4-projects
mailing list