From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8WtW-0003rm-BB for qemu-devel@nongnu.org; Fri, 26 Jun 2015 12:54:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z8WtS-0004Sg-9W for qemu-devel@nongnu.org; Fri, 26 Jun 2015 12:54:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53322) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8WtS-0004SA-3h for qemu-devel@nongnu.org; Fri, 26 Jun 2015 12:54:22 -0400 References: <1435330053-18733-1-git-send-email-fred.konrad@greensocs.com> <1435330053-18733-16-git-send-email-fred.konrad@greensocs.com> <558D6C7E.6020905@redhat.com> <558D75D0.6060906@greensocs.com> <558D776E.20705@redhat.com> From: Paolo Bonzini Message-ID: <558D83B7.50104@redhat.com> Date: Fri, 26 Jun 2015 18:54:15 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH V6 15/18] cpu: introduce tlb_flush*_all. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: mttcg@greensocs.com, Alexander Spyridakis , Mark Burton , Alexander Graf , QEMU Developers , Guillaume Delbergue , Alistair Francis , =?UTF-8?Q?Alex_Benn=c3=a9e?= , Frederic Konrad On 26/06/2015 18:08, Peter Maydell wrote: >> > Yeah, ISTR that in some cases you have to wait for other CPUs to >> > invalidate the TLB before proceeding. Maybe it's only when you have= a >> > dmb instruction, but it's probably simpler for QEMU to always do it >> > synchronously. > Yeah, the ARM architectural requirement here is that the TLB > operation is complete after a DSB instruction executes. (True for > any TLB op, not just the all-CPUs ones). NB that we also call > tlb_flush() from target-arm/ code for some things like "we just > updated a system register"; some of those have "must take effect > immediately" semantics. >=20 > In any case, for generic code we have to also consider the > semantics of non-ARM guests... I think it would be okay to make this an ARM-specific thing. In most other architectures that I know of, TLB shootdowns are done in software thorough IPI. Paolo