From patchwork Thu Apr 12 11:11:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Rutland X-Patchwork-Id: 133209 Delivered-To: patch@linaro.org Received: by 10.46.84.29 with SMTP id i29csp1571709ljb; Thu, 12 Apr 2018 04:12:40 -0700 (PDT) X-Google-Smtp-Source: AIpwx49w071R3wyoNnoEMabx/sRJfP70PGfuiTxdh52FpnBz8dWhu0PklsFLQIhSUAnG2AMdYwc/ X-Received: by 10.101.93.140 with SMTP id f12mr371499pgt.412.1523531559947; Thu, 12 Apr 2018 04:12:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523531559; cv=none; d=google.com; s=arc-20160816; b=tw4iNBgm0q1MUxqElufpan5i4iN8t4V/E7UeTsjNwlmiMhDdpE4iYCR4yNFFe7DEMQ c/14ab6DK+hu+fKKL6pfR4QCMIIUdq2L6GbgQYxdQNNSBjPVc7DvoGmtIR7BUXqaXcm3 SUi0Dt62NyArvv7ncZ03UiNFZESy759p1+vSJDq/4L/aowD/u96rin4KOcYAUflnS7tI TECqK6ifiRH0BzIxZ7UXISjFEILL8KSGqD5qbxvSyXsSZMRG1YtVEIbfocorViBkKfOx ComCVC3cs76P1sCDEmTWdDlqxjfP9PIVcg8CdZPbotCkZKqzeTvIolVia6pCtNloZyQB OpUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=v7Q48522mY8bgSCkHJXtFmdjNh3RkXB6tfQgaC5VEv4=; b=Pfa1LCX/TnjxcypyeSl5geL51zsi4CutsQI38qdRFAdfWGISGBwh1Hv3n4bV4upfCL 62cnf0O+DfIIAqVc5mnduDzLsfFMTVTwggLGayc77g+JThy16VTut9Kx3YJ2/3n4672a fwJm2KbKclZbkGZyXaI0WNTtEZC7gYrTt2q0ax9ygtHxtkUzsLicfz+sk+Y9DRsDrugJ U3Z95zSjDa0VAnqGGM241JwcMRR39G3ej1Mdlo3s6zhIkHEudoTts7KRnxvw3CMulwyn 3ZJRnCFdYkOP5fLbcMQB/sHSF8VfKsKN/dtIBGKpsTDCHX3HbPujI0gcOpV7zsBRVBc1 lKNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-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 bg3-v6si3001807plb.118.2018.04.12.04.12.39; Thu, 12 Apr 2018 04:12:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752879AbeDLLMj (ORCPT + 11 others); Thu, 12 Apr 2018 07:12:39 -0400 Received: from foss.arm.com ([217.140.101.70]:59426 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752470AbeDLLMi (ORCPT ); Thu, 12 Apr 2018 07:12:38 -0400 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 7A1A980D; Thu, 12 Apr 2018 04:12:38 -0700 (PDT) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CB24C3F24A; Thu, 12 Apr 2018 04:12:36 -0700 (PDT) From: Mark Rutland To: stable@vger.kernel.org Cc: mark.brown@linaro.org, ard.biesheuvel@linaro.org, marc.zyngier@arm.com, will.deacon@arm.com, catalin.marinas@arm.com, ghackmann@google.com, shankerd@codeaurora.org Subject: [PATCH v4.9.y 14/42] drivers/firmware: Expose psci_get_version through psci_ops structure Date: Thu, 12 Apr 2018 12:11:10 +0100 Message-Id: <20180412111138.40990-15-mark.rutland@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180412111138.40990-1-mark.rutland@arm.com> References: <20180412111138.40990-1-mark.rutland@arm.com> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Will Deacon commit d68e3ba5303f7e1099f51fdcd155f5263da8569b upstream. Entry into recent versions of ARM Trusted Firmware will invalidate the CPU branch predictor state in order to protect against aliasing attacks. This patch exposes the PSCI "VERSION" function via psci_ops, so that it can be invoked outside of the PSCI driver where necessary. Acked-by: Lorenzo Pieralisi Signed-off-by: Will Deacon Signed-off-by: Catalin Marinas Signed-off-by: Mark Rutland [v4.9 backport] --- drivers/firmware/psci.c | 2 ++ include/linux/psci.h | 1 + 2 files changed, 3 insertions(+) -- 2.11.0 diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index 8263429e21b8..9a3ce76304b6 100644 --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c @@ -496,6 +496,8 @@ static void __init psci_init_migrate(void) static void __init psci_0_2_set_functions(void) { pr_info("Using standard PSCI v0.2 function IDs\n"); + psci_ops.get_version = psci_get_version; + psci_function_id[PSCI_FN_CPU_SUSPEND] = PSCI_FN_NATIVE(0_2, CPU_SUSPEND); psci_ops.cpu_suspend = psci_cpu_suspend; diff --git a/include/linux/psci.h b/include/linux/psci.h index bdea1cb5e1db..6306ab10af18 100644 --- a/include/linux/psci.h +++ b/include/linux/psci.h @@ -26,6 +26,7 @@ int psci_cpu_init_idle(unsigned int cpu); int psci_cpu_suspend_enter(unsigned long index); struct psci_operations { + u32 (*get_version)(void); int (*cpu_suspend)(u32 state, unsigned long entry_point); int (*cpu_off)(u32 state); int (*cpu_on)(unsigned long cpuid, unsigned long entry_point);