From 4003a436fc74f03b4f4efd76a35ea9408fb560bb Mon Sep 17 00:00:00 2001 From: Peter Rugg Date: Sat, 25 May 2019 14:30:31 +0100 Subject: [PATCH] Add XOR with null cap when casting to/from memory cap --- CHERICC_Fat.bsv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHERICC_Fat.bsv b/CHERICC_Fat.bsv index 78d6842..dfb9fd8 100644 --- a/CHERICC_Fat.bsv +++ b/CHERICC_Fat.bsv @@ -1052,13 +1052,13 @@ endinstance instance Cast#(CapMem, CapReg); function CapReg cast (CapMem thin); - return unpackCap(thin); + return unpackCap(thin ^ packCap(null_cap)); endfunction endinstance instance Cast#(CapReg, CapMem); function CapMem cast (CapReg fat); - return packCap(fat); + return packCap(fat) ^ packCap(null_cap); endfunction endinstance