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~