From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an8jy-0000qz-3q for qemu-devel@nongnu.org; Mon, 04 Apr 2016 13:56:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1an8ju-0005S6-Ug for qemu-devel@nongnu.org; Mon, 04 Apr 2016 13:56:42 -0400 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]:34309) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an8ju-0005S2-Qm for qemu-devel@nongnu.org; Mon, 04 Apr 2016 13:56:38 -0400 Received: by mail-qg0-x22b.google.com with SMTP id c6so29941515qga.1 for ; Mon, 04 Apr 2016 10:56:38 -0700 (PDT) Sender: Richard Henderson References: <57029630.3070300@twiddle.net> From: Richard Henderson Message-ID: <5702AACF.90306@twiddle.net> Date: Mon, 4 Apr 2016 10:56:32 -0700 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] best way to implement emulation of AArch64 tagged addresses List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Thomas Hanson , QEMU Developers On 04/04/2016 09:31 AM, Peter Maydell wrote: > On 4 April 2016 at 17:28, Richard Henderson wrote: >> On 04/04/2016 08:51 AM, Peter Maydell wrote: >>> In particular I think if you just do the relevant handling of the tag >>> bits in target-arm's get_phys_addr() and its subroutines then this >>> should work ok, with the exceptions that: >>> * the QEMU TLB code will think that [tag A + address X] and >>> [tag B + address X] are different virtual addresses and they will >>> miss each other in the TLB >> >> >> Yep. Not only miss, but actively contend with each other. > > Yes. Can we avoid that, or do we just have to live with it? I guess > if the TCG fast path is doing a compare on full insn+tag then we > pretty much have to live with it. We have to live with it. Implementing a more complex hashing algorithm in the fast path is probably a non-starter. Hopefully if one is using multiple tags, they'll still be in the victim cache and so you won't have to fall back to the full tlb lookup. r~