Re: [Qemu-devel] [PATCH] linux-user/sparc/signal.c: Remove unnecessary comment

2018-10-12 Thread Laurent Vivier
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

2018-10-09 Thread Richard Henderson
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

2018-10-09 Thread Laurent Vivier
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