]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commit
ppc: flush QEMU JIT after 68k cache changes
authorDimitris Panokostas <midwan@gmail.com>
Wed, 1 Jul 2026 18:50:05 +0000 (20:50 +0200)
committerDimitris Panokostas <midwan@gmail.com>
Wed, 1 Jul 2026 18:50:05 +0000 (20:50 +0200)
commitaf85fc7c76d144511ff61b70b68cf45a3831b694
tree568aef3c8811c857d265b863104c8a521ba570f8
parentd60c0c73e3afd60bfb886e6e13ba99e0889624e6
ppc: flush QEMU JIT after 68k cache changes

OS3.x/WarpOS can patch PPC code and page tables from the m68k side in shared RAM. QEMU does not see those writes through the PPC softmmu, so stale translation blocks can survive until the m68k/PPC handoff deadlocks.

Import the optional ppc_cpu_flush_jit hook, mark QEMU PPC code cache state dirty on 68040 instruction-cache and MMU ATC flushes, and consume one coalesced flush at the next m68k-to-PPC handoff. Skip the flush while the m68k is halted so PPC-only OS4 execution is not forced to retranslate continuously.
cpummu.cpp
include/uae/ppc.h
newcpu.cpp
ppc/ppc.cpp