From patchwork Mon Jan 8 17:32:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 123770 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp3012148qgn; Mon, 8 Jan 2018 09:43:17 -0800 (PST) X-Google-Smtp-Source: ACJfBov2AUhcg5VmE+URxEV+oPxxWQnslcXazS0ZEnsI+EQ5pIQnH2xiqEcXMteJLuPDvofDfSqe X-Received: by 10.84.132.35 with SMTP id 32mr12695473ple.262.1515433397613; Mon, 08 Jan 2018 09:43:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515433397; cv=none; d=google.com; s=arc-20160816; b=nIsPtD5PZ4UPMT2cRcwrqEkMAjYr7J+qA+GC87pJSPR5MbVSTtzr2aac82rFzyXUlU 5fVwfA3Ngbbs68rnZOx1VC2igex874zVvqFdEdruSUj75RGgAX5NhMKQcACT03oKkkQE rJwjt/Xx6Dt/PX2+f1DQFW1xp4j4bkNjs6czM909m4grJ3JtPOEcUrN0rli/19GydS82 SSQb3ApI29kd5Gy0rYqoEcpILttVpOHOUMYzaPeDDe7pJEPrL9hN0dItKpSVCpZxIzCQ 2Q1bc4PyrrIFPscJTff/kqQ9c09VEkQztMLBk0e2BDNbvPUG0QzNrhWr2SLZBQ6gptlT mD+A== 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=UykPvai+4kuWW7i6WcE8r17hxZr4Xa8ijpKJ/9ZJaPA=; b=dZS/s6cHP0SsaNZtKP6SuZJBiBIDSuUQt7vEVVtwvuHT1IyTFwkAtMVhv2bf/WJw4c mQH2eL91vwZec2vA4jUd8l0QJ9S3QS1pcnnUz7z1lqq32S3UOycrnoeBVVkqX2X/qpY0 bkZzX5e9oR9+k8iwofLFG1rgHbmFH6cJi+SQr9u4YTb8z2cHjmlIoegz43/TI5EiZTdG PIaqKcBNg1pYBmqSY4BKuU4/e/Cmv/GndMiOrlh0ez3/vtslHOePVnN0HBqgFCuRTZ3L nZf7pN2p9rqmMDGKLwOZ+qF87OuLMTcA7frdCJDZYK3khzJ2Svu4qbzDq6LMWDKs1mS8 1aGg== 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 a3si1082673pgn.429.2018.01.08.09.43.17; Mon, 08 Jan 2018 09:43:17 -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 S1754589AbeAHRnP (ORCPT + 28 others); Mon, 8 Jan 2018 12:43:15 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:42884 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754296AbeAHRck (ORCPT ); Mon, 8 Jan 2018 12:32:40 -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 192DE168F; Mon, 8 Jan 2018 09:32:40 -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 DF4E13F487; Mon, 8 Jan 2018 09:32:39 -0800 (PST) Received: by edgewater-inn.cambridge.arm.com (Postfix, from userid 1000) id 3BD801AE2DAC; Mon, 8 Jan 2018 17:32:41 +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, shankerd@codeaurora.org, jnair@caviumnetworks.com, Will Deacon Subject: [PATCH v3 05/13] drivers/firmware: Expose psci_get_version through psci_ops structure Date: Mon, 8 Jan 2018 17:32:30 +0000 Message-Id: <1515432758-26440-6-git-send-email-will.deacon@arm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1515432758-26440-1-git-send-email-will.deacon@arm.com> References: <1515432758-26440-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. Acked-by: Lorenzo Pieralisi Signed-off-by: Will Deacon --- drivers/firmware/psci.c | 2 ++ include/linux/psci.h | 1 + 2 files changed, 3 insertions(+) -- 2.1.4 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);