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~

Reply via email to