Re: [Qemu-devel] [PATCH] linux-user/sparc/signal.c: Remove unnecessary comment
On 09/10/2018 20:40, Peter Maydell wrote: > Remove a comment suggesting that we need to call tb_flush() > after writing the SPARC signal frame trampoline insns. > This isn't necessary in QEMU, because (even if the guest > architecture requires explicit icache maintenance) we > ensure that memory writes result in invalidation of > translated code from that memory. > > Signed-off-by: Peter Maydell > --- > Found (with grep) while looking at what parts of the tree call > tb_flush()... > > linux-user/sparc/signal.c | 4 Applied to my branch linux-user-for-3.1 Thanks, Laurent
Re: [Qemu-devel] [PATCH] linux-user/sparc/signal.c: Remove unnecessary comment
On 10/9/18 12:45 PM, Laurent Vivier wrote: > Le 09/10/2018 à 20:40, Peter Maydell a écrit : >> Remove a comment suggesting that we need to call tb_flush() >> after writing the SPARC signal frame trampoline insns. >> This isn't necessary in QEMU, because (even if the guest >> architecture requires explicit icache maintenance) we >> ensure that memory writes result in invalidation of >> translated code from that memory. > > By curiosity, where/how is it done? Guest pages that have had code translated from them are mprotect'd read-only. The host SIGSEGV handler notices writes to such pages, invalidates the translated code, and marks the page read-write again. At which point the guest program continues. r~
Re: [Qemu-devel] [PATCH] linux-user/sparc/signal.c: Remove unnecessary comment
Le 09/10/2018 à 20:40, Peter Maydell a écrit : > Remove a comment suggesting that we need to call tb_flush() > after writing the SPARC signal frame trampoline insns. > This isn't necessary in QEMU, because (even if the guest > architecture requires explicit icache maintenance) we > ensure that memory writes result in invalidation of > translated code from that memory. By curiosity, where/how is it done? Thanks, Laurent