Date: Thu, 1 Mar 2012 18:14:45 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 207172 for review Message-ID: <201203011814.q21IEjqH029231@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@207172?ac=10 Change 207172 by rwatson@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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203011814.q21IEjqH029231>