mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Fixed bug # 547, but there are other bugs which follow.
This commit is contained in:
parent
564b5abeb5
commit
1f3792c823
@ -145,5 +145,5 @@ module mmu import cvw::*; #(parameter cvw_t P,
|
|||||||
// Specify which type of page fault is occurring
|
// Specify which type of page fault is occurring
|
||||||
assign InstrPageFaultF = TLBPageFault & ExecuteAccessF;
|
assign InstrPageFaultF = TLBPageFault & ExecuteAccessF;
|
||||||
assign LoadPageFaultM = TLBPageFault & ReadNoAmoAccessM;
|
assign LoadPageFaultM = TLBPageFault & ReadNoAmoAccessM;
|
||||||
assign StoreAmoPageFaultM = TLBPageFault & WriteAccessM;
|
assign StoreAmoPageFaultM = TLBPageFault & (WriteAccessM | (|CMOpM));
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -111,7 +111,7 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) (
|
|||||||
// Check for write error. Writes are invalid when the page's write bit is
|
// Check for write error. Writes are invalid when the page's write bit is
|
||||||
// low.
|
// low.
|
||||||
assign InvalidWrite = WriteAccess & ~PTE_W;
|
assign InvalidWrite = WriteAccess & ~PTE_W;
|
||||||
assign InvalidCBOM = (|CMOpM[2:0]) & (~PTE_W | (~PTE_R & (~STATUS_MXR | ~PTE_X)));
|
assign InvalidCBOM = (|CMOpM[2:0]) & (~PTE_W & (~PTE_R & (~STATUS_MXR | ~PTE_X)));
|
||||||
assign InvalidCBOZ = CMOpM[3] & ~PTE_W;
|
assign InvalidCBOZ = CMOpM[3] & ~PTE_W;
|
||||||
assign InvalidAccess = InvalidRead | InvalidWrite | InvalidCBOM | InvalidCBOZ;
|
assign InvalidAccess = InvalidRead | InvalidWrite | InvalidCBOM | InvalidCBOZ;
|
||||||
assign PreUpdateDA = ~PTE_A | WriteAccess & ~PTE_D;
|
assign PreUpdateDA = ~PTE_A | WriteAccess & ~PTE_D;
|
||||||
|
Loading…
Reference in New Issue
Block a user