PERFORCE change 821164 for review

Robert Watson rwatson at FreeBSD.org
Mon Sep 23 21:33:49 UTC 2013


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

Change 821164 by rwatson at rwatson_zenith_cl_cam_ac_uk on 2013/09/23 21:33:41

	Set up code and data capabilities to more narrowly point to the
	inlined minimal test sandbox assembly in cheritest_sandbox.S.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#18 edit
.. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest_sandbox.S#2 edit
.. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest_sandbox.h#2 edit

Differences ...

==== //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#18 (text+ko) ====

@@ -114,15 +114,17 @@
 	 * - We don't flush registers before CCall.
 	 * - We don't restore registers after CCall.
 	 */
-	CHERI_CINCBASE(10, 0, sandbox_creturn);
-	/* XXXRW: CHERI_CSETTYPE(10, 10, sandbox_creturn); */
-	CHERI_CSETLEN(10, 10, 4);	/* XXXRW: Use symbols not magic. */
+	CHERI_CINCBASE(10, 0, &sandbox_creturn);
+	/* XXXRW: CHERI_CSETTYPE(10, 10, &sandbox_creturn); */
+	CHERI_CSETLEN(10, 10, (uintptr_t)&sandbox_creturn_end -
+	    (uintptr_t)&sandbox_creturn);
 	CHERI_CANDPERM(10, 10, CHERI_PERM_EXECUTE);
 	/* XXXRW: CHERI_CSEALCODE(10, 10); */
 
-	CHERI_CINCBASE(11, 0, sandbox_creturn);
-	/* XXXRW: CHERI_CSETTYPE(11, 11, sandbox_creturn); */
-	CHERI_CSETLEN(11, 11, 4);	/* XXXRW: Use symbols not magic. */
+	CHERI_CINCBASE(11, 0, &sandbox_creturn);
+	/* XXXRW: CHERI_CSETTYPE(11, 11, &sandbox_creturn); */
+	CHERI_CSETLEN(11, 11, (uintptr_t)&sandbox_creturn_end -
+	    (uintptr_t)&sandbox_creturn);
 	CHERI_CANDPERM(11, 11, CHERI_PERM_LOAD);
 	/* XXXRW: CHERI_CSEALDATA(11, 11); */
 	

==== //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest_sandbox.S#2 (text+ko) ====

@@ -46,5 +46,7 @@
 sandbox_creturn:
 
 	creturn
+	.end sandbox_creturn
 
-	.end sandbox_creturn
+	.global sandbox_creturn_end
+sandbox_creturn_end:

==== //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest_sandbox.h#2 (text+ko) ====

@@ -31,6 +31,7 @@
 #ifndef _CHERITEST_SANDBOX_H_
 #define	_CHERITEST_SANDBOX_H_
 
-void	sandbox_creturn(void);
+extern void	*sandbox_creturn;
+extern void	*sandbox_creturn_end;
 
 #endif /* !_CHERITEST_SANDBOX_H_ */


More information about the p4-projects mailing list