Skip to content

Commit 4a52971

Browse files
Tag test now also tests CSC writing a zero tag
1 parent a9d126f commit 4a52971

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

sw/cheri/checks/tag_test.S

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,32 @@ captags:
8989
clc ct1, 16(ct0)
9090
cgettag t2, ct1
9191
bnez t2, fail
92+
// Store valid capabilities
93+
csc ct0, 0(ct0)
94+
csc ct0, 8(ct0)
95+
csc ct0, 16(ct0)
96+
// Check that tags are all valid
97+
clc ct1, 0(ct0)
98+
cgettag t2, ct1
99+
beqz t2, fail
100+
clc ct1, 8(ct0)
101+
cgettag t2, ct1
102+
beqz t2, fail
103+
clc ct1, 16(ct0)
104+
cgettag t2, ct1
105+
beqz t2, fail
106+
// Store null cap to second capability
107+
csc cnull, 8(ct0)
108+
// Check that tags are 1,0,1
109+
clc ct1, 0(ct0)
110+
cgettag t2, ct1
111+
beqz t2, fail
112+
clc ct1, 8(ct0)
113+
cgettag t2, ct1
114+
bnez t2, fail
115+
clc ct1, 16(ct0)
116+
cgettag t2, ct1
117+
beqz t2, fail
92118

93119
// Test for revocation tags
94120
revtags:

0 commit comments

Comments
 (0)