Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp165047imm; Thu, 7 Jun 2018 15:59:32 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKHRbcuOSfIkFGf23d56ys0Gbh4p1MoHAdRpfJ9y3WrhVtxJ0iEuWUQvoBKoPsaJd/+XD8K X-Received: by 2002:a17:902:900a:: with SMTP id a10-v6mr3889474plp.41.1528412372531; Thu, 07 Jun 2018 15:59:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528412372; cv=none; d=google.com; s=arc-20160816; b=tbxUBK9kVFXqVoYVvAj5waoeCK6U5NhCDF+cGTVjc3VWtKgUE/GuIU6hPiKWqwxVJm bs5ZcnWjt8WWldFkzA2NCpxQD5DoT+aqZtfb0iZLDjGRPeVI/9N3/K02m4AU4U8HOsFn EqM8+tFgnNXE+3OvzeNSQ3erZfPgT02RmfNzE4yacIFbjq5FdNxQnLPEaE0DBQeTa/wp EcT2YeP4pCN01qD8Lsp4zlN7zO5FlyLm4La7BPMa9mxPFuTG4btbC8Mj0JUIunWrSCn8 pMT6hx/e/mk38klg8+c/Kaa9UA2iY5LEX5W44AM9MXBBQKpGOjjXqWsIaUq6gYPfkAaU +u4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=v+KyweH6c0/5uR+9bkbPp68i2b0syMYrgorFm5gYS1E=; b=MNAz5MdJse0+/SzqgDxkIv21PufMi8unv38Uh4p6c2uK4Gn/ZkGLt42y6k7F1Y/ABN gOVNWMgOY5qCldljyW+8NV3Lh8UqNvogsE9EO8Onfylo4cI7Mj38qHFOx3gATd/OFjI9 dXu4JvAnZ5n9OLNQ9aCm29CEaDfmoLsXfYUKM3SDWxryNC49644N82rtt0z0ijn8Yx5k tsPQqXpPedxk22oQigo1pJZHmgUx2eYWHonoOV8mJEVYa7i3COs3bybnBzNpnonIggfR PNZxjg5Nt+Zae9DVHzeH9JXcdTTQE7MXNcs2uh5qERL/rdnSzBFuppOi3dC05foOYryF VdeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DNOXji2R; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1-v6si54723694plx.236.2018.06.07.15.59.16; Thu, 07 Jun 2018 15:59:32 -0700 (PDT) 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=@gmail.com header.s=20161025 header.b=DNOXji2R; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752142AbeFGW6v (ORCPT + 99 others); Thu, 7 Jun 2018 18:58:51 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:51824 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751631AbeFGW6u (ORCPT ); Thu, 7 Jun 2018 18:58:50 -0400 Received: by mail-wm0-f66.google.com with SMTP id r15-v6so127861wmc.1 for ; Thu, 07 Jun 2018 15:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=v+KyweH6c0/5uR+9bkbPp68i2b0syMYrgorFm5gYS1E=; b=DNOXji2RCcCk8AWz91FvXOI+RVuNH++7f9DMiyxpP+hl8YJsyEVRUzm6KSuTg/826i 0RV5sdCbOMUZAafqdW7C3D0G2JjbHFwxPVN/M4phbAolpCKSoqCU5fvHWOR+NFyn3TJf MIVA5PekcAaEqXTt6zE8p995DvfM6LrhNnO/a8hoQNCxWOb2t1e6Txq/zvixdSjGcqHf RUziheESv5LFVfwn4MoIhyTdNih3aAeKbB5P6fMf0LkiK2OScHoTW7rXO0mg9KW+r+5f fJAGksr7vIjud32aDO6EA1VplZoMOBT20qv5V/cXc5GkI4QwEpfKVOmjyqLoJZHS1gBw LWgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=v+KyweH6c0/5uR+9bkbPp68i2b0syMYrgorFm5gYS1E=; b=GjNUxJMkM/zGi7Y8ezk7DOlztqIUgi+qSFUZEXq37jdbnR9nbU1amOave0teG59KgZ cFeKXUyy5E1JY1VVPu8pC0Hu27T+Uqe3+Hs4i3XA7PeVCppDMK2DMYv4zCBZqKz2gJrb 2Akl7HLv1mLg972+0Q1OJQfyUYD2J04xnyEq+tI5cDBT13HJzQLpuj8LyzNFv4hOWiDe Bnd9i2Isve5AFSpAT2o17dfCfYRO3/UzJZWZ89SzDKyTkxyrYQMYROLgUCXu+wFcnFn+ Rttx7mabAUAW536T7WR+meRCMEgwou/8WgEEXR85LcxbmwRVvYGWpj5ZNEd2uQl2bY8L QBmw== X-Gm-Message-State: APt69E0Iix28pXUGmVazr8t9/SRbuPB5PgQeLy1Bo5RqYTFefAv/OoSP IQsgcIbcuxvuIJFXoA9lu7H6caH1 X-Received: by 2002:a50:a5ec:: with SMTP id b41-v6mr4314330edc.147.1528412329421; Thu, 07 Jun 2018 15:58:49 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id g30-v6sm4195716edb.5.2018.06.07.15.58.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Jun 2018 15:58:48 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Cc: marc.zyngier@arm.com, Florian Fainelli , Russell King , Tony Lindgren , Luca Scalabrino , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] ARM: spectre-v2: Try to set IBE bit for Cortex-A15 and Brahma-B15 Date: Thu, 7 Jun 2018 15:58:02 -0700 Message-Id: <20180607225804.28771-1-f.fainelli@gmail.com> X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Per the ARM reference manual for the Cortex-A15, The ACTLR: Is a read/write register. Common to the Secure and Non-secure states. Is only accessible from PL1 or higher, with access rights that depend on the mode: * Read/write in Secure PL1 modes. * Read-only and write-ignored in Non-secure PL1 and PL2 modes if NSACR.NS_SMP is 0. * Read/write in Non-secure PL1 and PL2 modes if NSACR.NS_SMP is 1. In this case, all bits are write-ignored except for the SMP bit. We can attempt to set this bit from within the kernel, which helps avoiding firmware side modifications to set the IBE bit when that is impractical. We do this within __v7_ca15mp_setup and __v7_b15mp_setup because by then we already took those labels because the processors we run on do match. Signed-off-by: Florian Fainelli --- arch/arm/mm/proc-v7.S | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 6fe52819e014..a21cf3729efa 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S @@ -284,10 +284,16 @@ __v7_cr8mp_setup: b 1f __v7_ca7mp_setup: __v7_ca12mp_setup: + b 2f __v7_ca15mp_setup: __v7_b15mp_setup: +#ifdef CONFIG_HARDEN_BRANCH_PREDICTOR + mrc p15, 0, r0, c1, c0, 1 + orr r0, r0, #1 @ Enable IBE bit + mcr p15, 0, r0, c1, c0, 1 +#endif __v7_ca17mp_setup: - mov r10, #0 +2: mov r10, #0 1: adr r0, __v7_setup_stack_ptr ldr r12, [r0] add r12, r12, r0 @ the local stack -- 2.14.1