@@ -184,7 +184,6 @@ Bit #(5) f5rs2_cap_CGetAddr = 5'h0f;
|
||||
Bit #(5) f5rs2_cap_CClearFPReg = 5'h10;
|
||||
Bit #(5) f5rs2_cap_CSealEntry = 5'h11;
|
||||
Bit #(5) f5rs2_cap_CLoadTags = 5'h12;
|
||||
Bit #(5) f5rs2_cap_CGetHigh = 5'h17;
|
||||
// 5'h13 unused
|
||||
Bit #(5) f5rs2_cap_JALR_PCC = 5'h14;
|
||||
// 5'h15-5'h1f unused (5'h1f reserved for 1-reg instructions)
|
||||
|
||||
@@ -1303,12 +1303,6 @@ function DecodeResult decode(Instruction inst, Bool cap_mode);
|
||||
regs.src1 = Valid(tagged Gpr rs1);
|
||||
dInst.capFunc = CapInspect (GetType);
|
||||
end
|
||||
f5rs2_cap_CGetHigh: begin
|
||||
dInst.iType = Cap;
|
||||
regs.dst = Valid(tagged Gpr rd);
|
||||
regs.src1 = Valid(tagged Gpr rs1);
|
||||
dInst.capFunc = CapInspect (GetHigh);
|
||||
end
|
||||
f5rs2_cap_CLoadTags: begin
|
||||
dInst.iType = Ld;
|
||||
dInst.imm = Valid(0);
|
||||
|
||||
@@ -308,8 +308,6 @@ function Data capInspect(CapPipe a, CapPipe b, CapInspectFunc func);
|
||||
zeroExtend(getFlags(a));
|
||||
tagged GetPerm :
|
||||
zeroExtend(getPerms(a));
|
||||
tagged GetHigh :
|
||||
zeroExtend(getHigh(pack(toMem(a))));
|
||||
tagged GetType :
|
||||
tpl_1(extractType(a));
|
||||
tagged ToPtr :
|
||||
@@ -626,11 +624,7 @@ function MemTaggedData gatherLoad( Addr addr, ByteOrTagEn byteOrTagEn
|
||||
return dataToMemTaggedData(extend(dataVec[offset]));
|
||||
end
|
||||
endfunction
|
||||
function Bit#(64) getHigh(CapMem cap);
|
||||
Bit #(129) cap_mem_bits = unpack(pack(cap));
|
||||
return cap_mem_bits[128-1:64];
|
||||
|
||||
endfunction
|
||||
function Tuple2#(ByteEn, Data) scatterStore(Addr addr, ByteEn byteEn, Data data);
|
||||
Bit#(IndxShamt) offset = truncate(addr);
|
||||
if(byteEn[7]) begin
|
||||
|
||||
@@ -363,7 +363,6 @@ typedef union tagged {
|
||||
void GetFlags;
|
||||
void GetPerm;
|
||||
void GetType;
|
||||
void GetHigh;
|
||||
void ToPtr;
|
||||
} CapInspectFunc deriving(Bits, Eq, FShow);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user