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