From patchwork Thu Jan 4 15:08:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 123437 Delivered-To: patch@linaro.org Received: by 10.80.135.92 with SMTP id 28csp6822174edv; Thu, 4 Jan 2018 07:11:29 -0800 (PST) X-Google-Smtp-Source: ACJfBovhSyx2jUBQhyaxfiOnqjpdRvp1NbApa8UEwAV+uZz/GHWg70Bmh0apaB0rDXaiEg9S/D19 X-Received: by 10.159.242.10 with SMTP id t10mr5020276plr.227.1515078689476; Thu, 04 Jan 2018 07:11:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515078689; cv=none; d=google.com; s=arc-20160816; b=Yws+i4En9McLnukjUPwFCmJtX9TwKlapIVTETZ4wAP/ROlG06yhwo90fhUM8ruoRxq MQ9AvfNEa7/hcfLD6bybyTMtj81vpR880kbGZlmKZT+/3pfSDHnQhKq0cWqO8jFE/5os 5FYIlKB36d+79qFfjFjlsyivQVZSx9Wz5bPueUceLlFkl3mwIwj7fOARLMOaBfejdgxe k9oaiq9CTfmkvlsR5LmGVL073S8yJnDcJyBjmPa06xfdID9ywUqia9C5rYDoQEQGe6ar KToPAt4SfvhgpfZEirYj9rUhCCzZuToeth5E3U16bOSimdjyCPMbpGUD+PpepEu2hU0f tn1w== 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=3dp83kp+XAmhZmVTTrvNkPHAmeiXMAdfLmDtrYafVdU=; b=byAb2PYG1mfEhKFzdDisCLWIMCn6R75yzYVn+YZxJlxWEY132OAyRlYjloDpGdwkOx bXcHoSqTrWR7Sotvxn6sUVUFn69fSFm/Ru5zftyi26OoJq7LebLkinFo3e4Xj8khJwOV vupuPxFFmkcNxd6PlEi/sLVRc8TQDRiWMUXphcoxhyBGhztI1pGe0PZ7IUV+WwG74TZ5 I2EbthmuCEuVK24RAxjYY4ba7XnKCIeMuQcXrP7RJn1HZ3AyJT5LAfaugZiS66z16SCL 3Vp8LtjblFOEqms6XDoLPgexpSayF7x+UcvKd+7JCgFx6QxISTO7iwiUTPFK2/ow8LUf y4XQ== ARC-Authentication-Results: i=1; mx.google.com; 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 g62si2148912pgc.428.2018.01.04.07.11.29; Thu, 04 Jan 2018 07:11:29 -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; 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 S1753538AbeADPKe (ORCPT + 22 others); Thu, 4 Jan 2018 10:10:34 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:33808 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753374AbeADPIl (ORCPT ); Thu, 4 Jan 2018 10:08:41 -0500 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 5DACD164F; Thu, 4 Jan 2018 07:08:41 -0800 (PST) Received: from edgewater-inn.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 2FA0C3F41F; Thu, 4 Jan 2018 07:08:41 -0800 (PST) Received: by edgewater-inn.cambridge.arm.com (Postfix, from userid 1000) id B3EF31AE0EF6; Thu, 4 Jan 2018 15:08:40 +0000 (GMT) From: Will Deacon To: linux-arm-kernel@lists.infradead.org Cc: catalin.marinas@arm.com, ard.biesheuvel@linaro.org, marc.zyngier@arm.com, lorenzo.pieralisi@arm.com, christoffer.dall@linaro.org, linux-kernel@vger.kernel.org, Will Deacon Subject: [PATCH 05/11] drivers/firmware: Expose psci_get_version through psci_ops structure Date: Thu, 4 Jan 2018 15:08:29 +0000 Message-Id: <1515078515-13723-6-git-send-email-will.deacon@arm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1515078515-13723-1-git-send-email-will.deacon@arm.com> References: <1515078515-13723-1-git-send-email-will.deacon@arm.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Signed-off-by: Will Deacon --- drivers/firmware/psci.c | 2 ++ include/linux/psci.h | 1 + 2 files changed, 3 insertions(+) -- 2.1.4 Acked-by: Lorenzo Pieralisi diff --git a/drivers/firmware/psci.c b/drivers/firmware/psci.c index d687ca3d5049..8b25d31e8401 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);