On 8/22/25 19:24, Richard Henderson wrote:
On 8/21/25 21:33, Danila Zhebryakov wrote:
@@ -1894,6 +1894,14 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi,
          notdirty_write(cpu, addr, size, full, retaddr);
      }
+    if (unlikely(tlb_addr & TLB_BSWAP)) {
+        assert(!( (  full->slow_flags[MMU_DATA_STORE]
+            ^ full->slow_flags[MMU_DATA_LOAD ])
+            & TLB_BSWAP));
+
+        *need_bswap = !need_bswap;
+    }
+

How is this supposed to work?

(!) TLB_BSWAP is a slow-flags bit, so it will never be set in tlb_addr.
Whoops, we've just got finished merging the slow flags back in.
I'd best do this again with more coffee tomorrow.


r~

Reply via email to