summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cheri/cheri_prelude_128.sail4
-rw-r--r--cheri/cheri_prelude_256.sail4
2 files changed, 4 insertions, 4 deletions
diff --git a/cheri/cheri_prelude_128.sail b/cheri/cheri_prelude_128.sail
index ffd986a4..263dae43 100644
--- a/cheri/cheri_prelude_128.sail
+++ b/cheri/cheri_prelude_128.sail
@@ -126,7 +126,7 @@ function capRegToCapStruct(c) : CapReg -> CapStruct =
permit_execute = c[114],
global = c[113],
reserved = c[112..111],
- E = c[110..105] ^ 0b110000,
+ E = c[110..105],
sealed = s,
B = Bc,
T = Tc,
@@ -153,7 +153,7 @@ function capStructToMemBits128(cap) : CapStruct -> bits(128) =
( cap.uperms
@ getCapHardPerms(cap)
@ cap.reserved
- @ cap.E ^ 0b110000
+ @ cap.E
@ cap.sealed
@ b
@ t
diff --git a/cheri/cheri_prelude_256.sail b/cheri/cheri_prelude_256.sail
index ba8a5d16..5590bbb8 100644
--- a/cheri/cheri_prelude_256.sail
+++ b/cheri/cheri_prelude_256.sail
@@ -165,12 +165,12 @@ function capStructToMemBits256(cap) : CapStruct -> bits(256) =
this ensures that canonical null_cap is always all-zeros in memory
even though it may have bits set logically (e.g. length or exponent) */
+let null_cap_bits : bits(256) = capStructToMemBits256(null_cap)
+
function capStructToMemBits(cap) : CapStruct -> bits(256)=
- let null_cap_bits : bits(256) = capStructToMemBits256(null_cap) in
capStructToMemBits256(cap) ^ null_cap_bits
function memBitsToCapBits(tag, b) : (bool, bits(256)) -> bits(257) =
- let null_cap_bits : bits(256) = capStructToMemBits256(null_cap) in
tag @ (b ^ null_cap_bits)
function capStructToCapReg(cap) : CapStruct -> CapReg = cap.tag @ capStructToMemBits256(cap)