diff --git a/CHERICC_Fat.bsv b/CHERICC_Fat.bsv index 6fec091..3ed1b77 100644 --- a/CHERICC_Fat.bsv +++ b/CHERICC_Fat.bsv @@ -261,6 +261,7 @@ function Capability packCap(CapFat fat); , flags: fat.flags , reserved: fat.reserved , otype: fat.otype + , delta: fat.delta , bounds: encBounds(fat.format,fat.bounds) , address: fat.address }; return pack(thin); @@ -886,6 +887,7 @@ instance DefaultValue #(CapFat); , flags : 0 , reserved : 0 , otype : otype_unsealed + , delta : 0 , format : EmbeddedExp , bounds : defaultValue , address : 0 @@ -898,6 +900,7 @@ CapFat null_cap = CapFat { , flags : 0 , reserved : 0 , otype : otype_unsealed + , delta : 0 , format : EmbeddedExp , bounds : defaultValue , address : 0 @@ -1166,6 +1169,10 @@ instance CHERICap #(CapMem, OTypeW, FlagsW, CapAddrW, CapW, TSub #(MW, 3), Delta ////////////////////////////////////////////////////////////////////////////// function setBoundsCombined = error ("setBoundsCombined not implemented for CapMem"); + + // Create function to set delta value + function setDeltaValue (CapPipe cap, Bit#(Delta) delta) = error ("setDeltaValue not implemented for CapReg"); + //function setBounds = error ("setBounds not implemented for CapMem"); //function roundLength = error ("roundLength not implemented for CapMem"); //function alignmentMask = error ("alignmentMask not implemented for CapMem"); @@ -1337,6 +1344,10 @@ instance CHERICap #(CapReg, OTypeW, FlagsW, CapAddrW, CapW, TSub #(MW, 3), Delta // capability derivation (bounds set) ////////////////////////////////////////////////////////////////////////////// function setBoundsCombined (cap, length) = error ("setBoundsCombined not implemented for CapReg"); + + // Create function to set delta value + function setDeltaValue (CapPipe cap, Bit#(Delta) delta) = error ("setDeltaValue not implemented for CapReg"); + //function setBounds = error ("setBounds not implemented for CapReg"); //function roundLength = error ("roundLength not implemented for CapReg"); //function alignmentMask = error ("alignmentMask not implemented for CapReg");