From 52dad4f1308a78a798b63401de5c48d5d0f9d10d Mon Sep 17 00:00:00 2001 From: Rose Thompson Date: Fri, 29 Dec 2023 11:11:06 -0600 Subject: [PATCH] cbo.zero works for uncached memory now! --- src/lsu/lsu.sv | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lsu/lsu.sv b/src/lsu/lsu.sv index 5ea6ceb24..c36e54f07 100644 --- a/src/lsu/lsu.sv +++ b/src/lsu/lsu.sv @@ -307,11 +307,14 @@ module lsu import cvw::*; #(parameter cvw_t P) ( logic CacheStall; logic [1:0] CacheBusRWTemp; logic BusCMOZero; + logic [3:0] CacheCMOpM; if(P.ZICBOZ_SUPPORTED) begin assign BusCMOZero = CMOpM[3] & ~CacheableM; + assign CacheCMOpM = CacheableM ? CMOpM : '0; end else begin assign BusCMOZero = '0; + assign CacheCMOpM = '0; end assign BusRW = ~CacheableM & ~SelDTIM ? LSURWM : '0; assign CacheableOrFlushCacheM = CacheableM | FlushDCacheM; @@ -329,7 +332,7 @@ module lsu import cvw::*; #(parameter cvw_t P) ( .CacheCommitted(DCacheCommittedM), .CacheBusAdr(DCacheBusAdr), .ReadDataWord(DCacheReadDataWordM), .FetchBuffer, .CacheBusRW(CacheBusRWTemp), - .CacheBusAck(DCacheBusAck), .InvalidateCache(1'b0), .CMOp(CMOpM)); + .CacheBusAck(DCacheBusAck), .InvalidateCache(1'b0), .CMOp(CacheCMOpM)); assign DCacheStallM = CacheStall & ~IgnoreRequestTLB; assign CacheBusRW = CacheBusRWTemp;