Richard Henderson <r...@twiddle.net> writes: > On 11/09/2016 03:57 PM, Alex Bennée wrote: >> +void tlb_flush_page_all(target_ulong addr) > > It's a nit, but when I read this I think all pages, not all cpus. > Can we rename this tlb_fluch_page_all_cpus?
So to properly support ARM TLB flush semantics I want to move some of the looping in the helpers into cputlb.c so I'm thinking we'll have: tlb_flush_page_all_cpus tlb_flush_by_mmuidx_all_cpus tlb_flush_page_by_mmuidx_all_cpus Which will have the initial parameters of at least CPUState *src, bool sync Where src is the source vCPU of the flush request and sync will cause the source vCPU to schedule its work as safe work and do a cpu_loop_exit. This will allow the helpers to ensure TLB flushes are in a known state after executing the helper. In fact for ARM we'll be able to put off the reckoning until a DMB instruction comes along and we can force synchronisation at that point but I'm assuming there must be other architectures with stricter requirements. > > Otherwise, > > Reviewed-by: Richard Henderson <r...@twiddle.net> > > > r~ -- Alex Bennée