pass through pointer works
This commit is contained in:
@@ -11,7 +11,8 @@ _start:
|
||||
# bound it to 8 bytes (size of dword)
|
||||
li t2, 8
|
||||
csetbounds csp, csp, t2
|
||||
cincoffsetimm csp, csp, 4
|
||||
# li t5, 4
|
||||
cincoffsetimm csp, csp, 10
|
||||
|
||||
# seal the bounded capability
|
||||
# cspecialr ct1, 4
|
||||
|
||||
BIN
Tests/isa/testC
BIN
Tests/isa/testC
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -626,6 +626,9 @@ module mkMemExePipeline#(MemExeInput inIfc)(MemExePipeline);
|
||||
// Test delta value read from the pointer
|
||||
Bit#(25) delta = decodeDelta(x.vaddr);
|
||||
$display("Decoded delta = %0d", delta);
|
||||
x.vaddr = encodeDelta(x.vaddr, 0);
|
||||
// x.vaddr = (x.vaddr >> 25) << 25;
|
||||
// x.vaddr = (x.vaddr >> 25) << 25;
|
||||
|
||||
// go to next stage by sending to TLB
|
||||
dTlb.procReq(DTlbReq {
|
||||
|
||||
@@ -244,7 +244,7 @@ function CapPipe capModify(CapPipe a, CapPipe b, CapModifyFunc func);
|
||||
// TODO: Delta handler function
|
||||
CapPipe res = (case(func) matches
|
||||
tagged ModifyOffset .offsetOp :
|
||||
// modifyOffset(a_mut, getAddr(b), offsetOp == IncOffset).value;
|
||||
//modifyOffset(a_mut, getAddr(b), offsetOp == IncOffset).value;
|
||||
// To test this
|
||||
encodeDelta(a_mut, getAddr(b));
|
||||
tagged SetBounds .boundsOp :
|
||||
|
||||
Reference in New Issue
Block a user