On 8/20/26 12:00, Brian Cain wrote:
On 8/20/2026 1:37 PM, Pierrick Bouvier wrote:
On 8/18/2026 9:53 PM, Brian Cain wrote:
Route linux-user icinva through a helper that invalidates the addressed
icache line under mmap_lock
For system mode icinva has nothing left to do, so it stays a nop.
Why does system mode icinva is a nop?
Shouldn't we invalidate translated code also?
The normal behavior of instruction translation in QEMU is conservative relative to the ISA
constraint. QEMU will invalidate translated blocks that become dirty/stale from a store
instruction, so icinva can't flush anything: it's already flushed.
We do the same in user mode, trapping the stores via read-only pages. See
handle_sigsegv_accerr_write and page_unprotect.
So why do you believe that you need to invalidate pages manually here?
r~