PERFORCE change 219752 for review
Robert Watson
rwatson at FreeBSD.org
Mon Nov 12 01:33:51 UTC 2012
http://p4web.freebsd.org/@@219752?ac=10
Change 219752 by rwatson at rwatson_zenith_cl_cam_ac_uk on 2012/11/12 01:32:53
When throwing a capability-related exception, include more
information on potentially interesting CP2 registers in log
output.
Affected files ...
.. //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cheri.c#9 edit
Differences ...
==== //depot/projects/ctsrd/cheribsd/src/sys/mips/cheri/cheri.c#9 (text+ko) ====
@@ -274,6 +274,46 @@
intr_enable();
CHERI_REG_PRINT(c, ctag, 0);
+ /* C1 */
+ intr_disable();
+ CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_c1, 0);
+ CHERI_GETCAPREG(CHERI_CR_KR1C, c);
+ CHERI_CGETTAG(ctag, 0);
+ intr_enable();
+ CHERI_REG_PRINT(c, ctag, 1);
+
+ /* C2 */
+ intr_disable();
+ CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_c2, 0);
+ CHERI_GETCAPREG(CHERI_CR_KR1C, c);
+ CHERI_CGETTAG(ctag, 0);
+ intr_enable();
+ CHERI_REG_PRINT(c, ctag, 2);
+
+ /* C3 */
+ intr_disable();
+ CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_c3, 0);
+ CHERI_GETCAPREG(CHERI_CR_KR1C, c);
+ CHERI_CGETTAG(ctag, 0);
+ intr_enable();
+ CHERI_REG_PRINT(c, ctag, 3);
+
+ /* C24 */
+ intr_disable();
+ CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_c24, 0);
+ CHERI_GETCAPREG(CHERI_CR_KR1C, c);
+ CHERI_CGETTAG(ctag, 0);
+ intr_enable();
+ CHERI_REG_PRINT(c, ctag, 24);
+
+ /* C26 */
+ intr_disable();
+ CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_c26, 0);
+ CHERI_GETCAPREG(CHERI_CR_KR1C, c);
+ CHERI_CGETTAG(ctag, 0);
+ intr_enable();
+ CHERI_REG_PRINT(c, ctag, 26);
+
/* EPCC */
intr_disable();
CHERI_CLC(CHERI_CR_KR1C, CHERI_CR_KDC, &cheriframe->cf_pcc, 0);
More information about the p4-projects
mailing list