Skip site navigation (1)Skip section navigation (2)
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>