PERFORCE change 219567 for review

Robert Watson rwatson at FreeBSD.org
Sun Nov 4 16:18:20 UTC 2012


http://p4web.freebsd.org/@@219567?ac=10

Change 219567 by rwatson at rwatson_svr_ctsrd_mipsbuild on 2012/11/04 16:17:47

	CSetTag does not behave the same way as other CHERI register
	field assignment instructions, in that it "modifies in place".
	Put it later in the capability setup sequence so that the
	target is tagged as a capability before we start.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cheri.c#4 edit

Differences ...

==== //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cheri.c#4 (text+ko) ====

@@ -79,10 +79,10 @@
 	 * temporary preserved during kernel execution to avoid this.
 	 */
 	s = intr_disable();
-	CHERI_CSETTYPE(CHERI_CR_KR1C, CHERI_CR_KDC, (register_t)otypep);
-	CHERI_CINCBASE(CHERI_CR_KR1C, CHERI_CR_KR1C, (register_t)basep);
+	CHERI_CINCBASE(CHERI_CR_KR1C, CHERI_CR_KDC, (register_t)basep);
 	CHERI_CSETLEN(CHERI_CR_KR1C, CHERI_CR_KR1C, (register_t)length);
 	CHERI_CANDPERM(CHERI_CR_KR1C, CHERI_CR_KR1C, (register_t)perms);
+	CHERI_CSETTYPE(CHERI_CR_KR1C, CHERI_CR_KR1C, (register_t)otypep);
 	CHERI_CSC(CHERI_CR_KR1C, CHERI_CR_KDC, (register_t)cp, 0);
 	intr_restore(s);
 }


More information about the p4-projects mailing list