From patchwork Mon Apr 8 16:02:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Zyngier X-Patchwork-Id: 10889793 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 972A6139A for ; Mon, 8 Apr 2019 16:02:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7D803286D1 for ; Mon, 8 Apr 2019 16:02:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7208F286DE; Mon, 8 Apr 2019 16:02:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0F42B286D1 for ; Mon, 8 Apr 2019 16:02:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=OFDWHndezul89EFU9N+0hdV1FM4NM8Sq3RTXHtZtY9Y=; b=f07O8cDxZVbC3i AAnMWBiArQz+xtr+fcum6oDdFgzkE6aagQpfgzvRyHihQp2ilw/RslxusncH442YfAnnrhGNblRuc LGyXg1Fph7SMZFRe4uRZ0Ax5G6+MIWNWexaQDtxvW/m4RvDvhuLacJmjvVmNW4bxCzoHPb9MUTJlw dADZZyRdInyuQ28INDfQIykMBMIAqrFekZnvi0X2ABj810fvz43tlcBIebVG5HsOZFUnundwGWJX8 xzjavjAxZm5bK/8S1+3vjXMgw5eltUtpPNN7U1Nnr9uNENVI8K4mTlyZoacrAnmlhhKbl3TZ43M7I /BRAad3ML8e+/TtJp4YQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDWj4-0003Ys-T7; Mon, 08 Apr 2019 16:02:26 +0000 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70] helo=foss.arm.com) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDWj1-0003XP-Iz for linux-arm-kernel@lists.infradead.org; Mon, 08 Apr 2019 16:02:25 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1742415AB; Mon, 8 Apr 2019 09:02:23 -0700 (PDT) Received: from filthy-habits.cambridge.arm.com (filthy-habits.cambridge.arm.com [10.1.196.92]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 060353F557; Mon, 8 Apr 2019 09:02:21 -0700 (PDT) From: Marc Zyngier To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/4] arm64: Rework handling of erratum 1188873 Date: Mon, 8 Apr 2019 17:02:12 +0100 Message-Id: <20190408160216.223871-1-marc.zyngier@arm.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190408_090223_625998_B2F79EFE X-CRM114-Status: GOOD ( 11.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Catalin Marinas , Daniel Lezcano , Will Deacon Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP When the handling of erratum 1188873 was merged, it was decided that we'd treat both AArch32 and AArch64 equally by trapping CNTVCT. It turns out that users of such HW feel that the overhead placed on AArch64 userspace is unacceptable, so a less invasive solution had to be investigated. Instead of configuring the trapping once and for all, we switch it on and off on exiting to EL0, depending on whether we have a 32bit task or not. Hopefully the overhead is minimal for non-affected cores. We also take this opportunity to apply the same workaround to Neoverse-N1, which suffers from the same erratum in its early revisions. Marc Zyngier (4): arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32 arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT arm64: Add part number for Neoverse N1 arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1 arch/arm64/Kconfig | 12 +++++++----- arch/arm64/include/asm/cputype.h | 2 ++ arch/arm64/kernel/cpu_errata.c | 13 +++++++++++-- arch/arm64/kernel/entry.S | 23 +++++++++++++++++++++++ drivers/clocksource/arm_arch_timer.c | 15 --------------- 5 files changed, 43 insertions(+), 22 deletions(-)