|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] Help on TLB Flush |
Date: | Fri, 13 Feb 2015 10:34:47 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
On 12/02/2015 22:57, Peter Maydell wrote: > The only > requirement is that if the CPU that did the TLB maintenance > op executes a DMB (barrier) then the TLB op must finish > before the barrier completes execution. So you could split > the "kick off TLB invalidate" and "make sure all CPUs > are done" phases if you wanted. [cf v8 ARM ARM rev A.e > section D4.7.2 and in particular the subsection on > "ordering and completion".] You can just make DMB start a new translation block. Then when the TLB flush helpers call cpu_exit() or cpu_interrupt() the flush request is serviced. Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |