Received: by 10.223.164.202 with SMTP id h10csp2016861wrb; Sat, 18 Nov 2017 10:59:04 -0800 (PST) X-Google-Smtp-Source: AGs4zMZuJuzDg5Zyv+XK16hU69EqY5h+oYx1Npj5ntRHnXuMwXYsndNDd9b974HnKO1ImCp7yy8/ X-Received: by 10.84.169.1 with SMTP id g1mr9281271plb.349.1511031544638; Sat, 18 Nov 2017 10:59:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511031544; cv=none; d=google.com; s=arc-20160816; b=cNJiYCFNfD8XkP64HyRRM6Oypog92KLw4fR1HCuhlnnLUREAr8yQekdr+ymZYdfahj 8iZOp4B+xGTuyL5uNC/UuTdZh9BDXiUwDGNEUxk4HO/UKMYSqOj89FzU9WH5VSlFfnya X6ZsVsDvI6bRuPIZmitjnQP8nqWvJ3J25gwhwZRqZpd+p5CJ+kQSpF1OqnVCRhr7Jr3S EKsDiDw6VRhyfIXkEb/jIOdPMzNv0Sp60BscA+Q3RyjG/hgIO/4zmokYnwobISkc+sIf s5T+PLRynehoUzM0ZZIq7FGaCNBlAUTWsSf1P5M+w6zTuPdUfC15EOrQJTG/BwFBpoQi 9tKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=+rW7EbojjlTWM/0J/k8Y/NiSDFfQ5I0Ig/dLiTKBut0=; b=w9X7UW4hhKKEOt3jxGPpMvB5wFpdECI19FZBWHtxhRmxQkKtmvjnwXipqiyn7ctVCa ljzH8LP9aUiu+QaIUNXfL19wz+j+dnsuhz1x/ALP243wAIvNcrnloq0HXrELhHCMUfbH N5qQOndHoaL6yhIWtu6FwOOqH6Zv+NY49GPHifn97yOtES90PDw5ZnPS3YG929s7tICJ qguBQJiBam1Y/38wYKu5G7p52YPluOyn7qTDanK/S+AyS0zKS7gm4hAmHrUaJQ+uMBrP tUnCAExErj8pSOjoy1MYZaXgo8dD8f3CUFvrpH3/IuNhhczQT6jAse60ZDLY1VeJRy3H pEwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=eZEIZIT/; dkim=pass header.i=@codeaurora.org header.s=default header.b=kxoyaL7i; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b3si4846910pgr.683.2017.11.18.10.58.51; Sat, 18 Nov 2017 10:59:04 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=eZEIZIT/; dkim=pass header.i=@codeaurora.org header.s=default header.b=kxoyaL7i; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1162233AbdKRA1X (ORCPT + 94 others); Fri, 17 Nov 2017 19:27:23 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:53134 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1162216AbdKRA1Q (ORCPT ); Fri, 17 Nov 2017 19:27:16 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 900C260313; Sat, 18 Nov 2017 00:27:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1510964835; bh=0i6+m607ggnBJmNe22LXZu51l7EPKdtnUKStrav6VDQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eZEIZIT/dK++PsFe3mX+u50pW0kwfwBfxLBorA8bzypzPj4fcA8FhAQGBwVB/V5nn T68SdeaIer2xftbkpJ8WdgmcFhp+6cg7Nmsnyrv2zHWMmb0BJufh2uTLYzZq3u/XMF N+GqCMfg2SGl5ezo8tgrtu/siEGf0gfYlQsj1qx8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from localhost (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: sboyd@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id CFD9960313; Sat, 18 Nov 2017 00:27:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1510964834; bh=0i6+m607ggnBJmNe22LXZu51l7EPKdtnUKStrav6VDQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=kxoyaL7itYHd+xSsZONt5gso8QwQ7IrRjnyQs5SY8ckPRcIdQ0AOxqf3MMiOa8zUO G+OoiBZ/vhxAFrFUbeyKcgPKSXGRDwLfKStZA4XZVpu0yueKYT4y72iM+4Nr/OjdqS r0tG55HdqbqKro4qoN+r5yuMUwdulEFaXlpe+Cv4= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org CFD9960313 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=sboyd@codeaurora.org Date: Fri, 17 Nov 2017 16:27:14 -0800 From: Stephen Boyd To: Will Deacon Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, ard.biesheuvel@linaro.org, dave.hansen@linux.intel.com, keescook@chromium.org Subject: Re: [PATCH 14/18] arm64: erratum: Work around Falkor erratum #E1003 in trampoline code Message-ID: <20171118002714.GC18379@codeaurora.org> References: <1510942921-12564-1-git-send-email-will.deacon@arm.com> <1510942921-12564-15-git-send-email-will.deacon@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1510942921-12564-15-git-send-email-will.deacon@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/17, Will Deacon wrote: > We rely on an atomic swizzling of TTBR1 when transitioning from the entry > trampoline to the kernel proper on an exception. We can't rely on this > atomicity in the face of Falkor erratum #E1003, so on affected cores we > can issue a TLB invalidation prior to jumping into the kernel. There is > still the possibility of a TLB conflict here due to conflicting walk > cache entries, but this doesn't appear to be the case on these CPUs in > practice. > > Signed-off-by: Will Deacon > --- > arch/arm64/Kconfig | 17 +++++------------ > arch/arm64/kernel/entry.S | 8 ++++++++ > 2 files changed, 13 insertions(+), 12 deletions(-) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 0df64a6a56d4..f0fcbfc2262e 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -504,20 +504,13 @@ config CAVIUM_ERRATUM_30115 > config QCOM_FALKOR_ERRATUM_1003 > bool "Falkor E1003: Incorrect translation due to ASID change" > default y > - select ARM64_PAN if ARM64_SW_TTBR0_PAN Cool, this sort of complicates the backport of the Kryo MIDR update of this errata to stable trees though. > diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S > index a839b94bba05..a600879939ce 100644 > --- a/arch/arm64/kernel/entry.S > +++ b/arch/arm64/kernel/entry.S > @@ -941,6 +941,14 @@ __ni_sys_trace: > sub \tmp, \tmp, #(SWAPPER_DIR_SIZE + RESERVED_TTBR0_SIZE) > bic \tmp, \tmp, #USER_ASID_FLAG > msr ttbr1_el1, \tmp > +alternative_if ARM64_WORKAROUND_QCOM_FALKOR_E1003 Shouldn't we put this inside an #ifdef QCOM_FALKOR_ERRATUM_1003 so that we don't even emit nops in case we have the errata disabled? Or did I miss something in the alternatives assembly code? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project From 1584367521636070250@xxx Sat Nov 18 02:03:33 +0000 2017 X-GM-THRID: 1584367521636070250 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread