PERFORCE change 571561 for review

Robert Watson rwatson at FreeBSD.org
Tue Sep 3 22:30:57 UTC 2013


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

Change 571561 by rwatson at rwatson_zenith_cl_cam_ac_uk on 2013/09/03 22:30:10

	Add stub CCall and CReturn exercise cases to cheritest -- for now,
	they expect the kernel's temporary behaviour of $pc += 4 rather than
	an actual invoke.

Affected files ...

.. //depot/projects/ctsrd/cheribsd/src/bin/cheritest/cheritest.c#12 edit

Differences ...

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

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2012 Robert N. M. Watson
+ * Copyright (c) 2012-2013 Robert N. M. Watson
  * All rights reserved.
  *
  * This software was developed by SRI International and the University of
@@ -66,7 +66,9 @@
 usage(void)
 {
 
+	fprintf(stderr, "cheritest ccall\n");
 	fprintf(stderr, "cheritest copyregs\n");
+	fprintf(stderr, "cheritest creturn\n");
 	fprintf(stderr, "cheritest listregs\n");
 	fprintf(stderr, "cheritest overrun\n");
 	fprintf(stderr, "cheritest sandbox\n");
@@ -93,6 +95,22 @@
 }
 
 static void
+cheritest_ccall(void)
+{
+
+	/* XXXRW: Temporary nop semantics. */
+	CHERI_CCALL(10, 11);
+}
+
+static void
+cheritest_creturn(void)
+{
+
+	/* XXXRW: Temporary nop semantics. */
+	CHERI_CRETURN();
+}
+
+static void
 cheritest_copyregs(void)
 {
 
@@ -252,8 +270,12 @@
 	for (i = 0; i < argc; i++) {
 		if (strcmp(argv[i], "listregs") == 0)
 			cheritest_listregs();
+		else if (strcmp(argv[i], "ccall") == 0)
+			cheritest_ccall();
 		else if (strcmp(argv[i], "copyregs") == 0)
 			cheritest_copyregs();
+		else if (strcmp(argv[i], "creturn") == 0)
+			cheritest_creturn();
 		else if (strcmp(argv[i], "overrun") == 0)
 			cheritest_overrun();
 		else if (strcmp(argv[i], "sandbox") == 0)


More information about the p4-projects mailing list