From 6e9c2b9d526d81fc0fc28ea3be60ba61436407f1 Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Tue, 1 May 2018 15:33:00 +0100 Subject: cheri128: remove unnecessary xor of E with 48. The zeroing of E in memory is achieved by xoring with null_cap_bits so this was only affecting register representation. --- cheri/cheri_prelude_128.sail | 4 ++-- 1 file changed, 2 insertions(+), 2 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 -- cgit v1.2.3