Fix clearing of wrong bits in maskAddress

This commit is contained in:
Peter Rugg
2019-09-09 15:28:40 +01:00
parent a39fefd950
commit 862bfb39bd

View File

@@ -1007,7 +1007,7 @@ instance CHERICap #(CapPipe, OTypeW, FlagsW, CapAddressW, CapW, TSub#(MW, 3));
endfunction
function CapPipe maskAddr (CapPipe cap, Bit#(TSub#(MW, 3)) mask);
cap.capFat.addrBits[valueOf(TSub#(MW, 4)):0] = cap.capFat.addrBits[valueOf(TSub#(MW, 4)):0] & mask;
cap.capFat.address[valueOf(TSub#(MW, 4)):0] = cap.capFat.address[valueOf(TSub#(MW, 4)):0] & mask;
return cap;
endfunction