loadstore1: Ensure tlbie instructions get completed
Since commitpull/458/headc938246cc8("dcache: Simplify addressing of the dcache TLB", 2025-04-05), tlbie instructions have been sent down the loadstore pipe with both req.dc_req and req.mmu_op set, so that the tlbie gets sent both to the data cache and the MMU. This is so that the relevant TLB hit signals are set correctly in the dcache for a single-page invalidation. However, this means that loadstore1 was not sending a completion to writeback for the tlbie. Normally this doesn't cause a problem, but if the tlbie is followed by an instruction that is marked 'single-pipe' in the decode1 tables, such as sync (any variant), decode2 will then stall forever waiting for the tlbie to complete before issuing the following instruction. To fix this, clear req.dc_req in the second loadstore stage for a tlbie (actually for any MMU operation, but tlbie is the only instruction that would have dc_req set). Fixes:c938246cc8("dcache: Simplify addressing of the dcache TLB", 2025-04-05) Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
parent
f9dc3ecdc8
commit
c78d9b32ef
Loading…
Reference in New Issue