From e531b0103e0fe0be08b9954eee6f66588529ba5a Mon Sep 17 00:00:00 2001 From: Ross Thompson Date: Wed, 5 Apr 2023 23:13:45 -0500 Subject: [PATCH] Fixed wally64/32priv test hangup. The fix for the issue 203 had a lingering bug which did not suppress a bus access if the hptw short circuits on a pma/p fault. --- src/mmu/hptw.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mmu/hptw.sv b/src/mmu/hptw.sv index 95ab43360..f90e42ce9 100644 --- a/src/mmu/hptw.sv +++ b/src/mmu/hptw.sv @@ -288,7 +288,7 @@ module hptw ( default: NextWalkerState = IDLE; // should never be reached endcase // case (WalkerState) - assign IgnoreRequestTLB = WalkerState == IDLE & TLBMiss; + assign IgnoreRequestTLB = (WalkerState == IDLE & TLBMiss) | (LSUAccessFaultM); // RT : 05 April 2023 if hptw request has pmp/a fault suppress bus access. assign SelHPTW = WalkerState != IDLE; assign HPTWAccessFaultDelay = HPTWLoadAccessFaultDelay | HPTWStoreAmoAccessFaultDelay | HPTWInstrAccessFaultDelay; assign HPTWStall = (WalkerState != IDLE) | (WalkerState == IDLE & TLBMiss & ~(HPTWAccessFaultDelay));