From nobody Fri Nov 10 16:06:11 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SRkFw0vDFz4ywfM; Fri, 10 Nov 2023 16:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SRkFw0LMvz3NCS; Fri, 10 Nov 2023 16:06:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699632372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XW5Rs8a+QS3i3gwyTjTO+9dRdhNsR5rmaDA1PFilwjk=; b=EXcfUbBcfZSPtXP0f2XnPdNmE7q+bJNp8I3ceNC8D3cKuYgr6cOrOss94REusbjAOMtWGq tDcj/iDDIxFaNZt5/yDSryCclJmVXfVThrkW2fTesxiVJPYyAwEF4BIpkgTyEQ5LZlQWws 2ittBAUdtrsC9KWnURuyIxhP22B5BQwzmbcnP2NG+HwDAa28M2mwjRDdGxrNnyH7HPxSyq vDuXuKjgCP+3aJDbKcN4eP3nI4WLY5KbXz79TZe1yHFkK21+ZDWaMlaURKid/MIxQrfp3i KA1M95wTugqUfm4xBwgj9Xb9Sf/ug79AufW6KeCe5ZNy3RRNBea/HXTh4lX3lA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699632372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XW5Rs8a+QS3i3gwyTjTO+9dRdhNsR5rmaDA1PFilwjk=; b=lRVVKNue1P6LyHn8KlISiDSZx9DKv+UfZucnBIl+gLJ05FzEl0TuNjeXKHC4By8fxwje/a 69X5IcH2ZVwf3Sz+6kj6yWWep1039VjfBm6yzWBFtQ6Cdfz60dBqshlSTZunD40UKZ3oOh N/mPQKBRuRibOeUEloqklKo78+LnxsN8/Iu5dI4SamY15KnYE+HeRaHuIaxgMDODQ3uDax xrSUIEN/7A6qwFyqM9oGh943HEp1DuXe3BMUFA92hoFibJ6kAccBctEWItFvAkesVc2F6m ue8JMbJk2qXsLzUKvIZVD7+ruogySt5fLE+MFnhoroQZl6p8bjNBB6KSUpC1cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699632372; a=rsa-sha256; cv=none; b=IRikqDQqDDbGbQdGLOT7ZJVJlz+2AKUDQEAucTVWxnJOX5CJxYMBqcn3IQpYiiUGFuTlO7 lkgFiqlnF4U1U/4f/Jsuf3Y43B2JhZZszmkA7U7ohvtVZTdVsFsclpWazb2WQsO3L8zTaw ELi2wURrhpvRLLDaBbUDI0Ah+ERYaFnTPAFw6kmheGLfkft1lZ49euBX/ZJdLoJqlkvgiS WZlnjUu1e3IUfQI4WAGoawlQBpa1r460yciHK/YrKCHySUQNBN/4BIggOz7q0+Q4eBthH6 1uCKq2aWog5l1xwC3gVsLzVvGVU7ju3CuARU2Iq3nR6qHnLjs8eKRbdnaXyvJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SRkFv62R1z14Ft; Fri, 10 Nov 2023 16:06:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AAG6BCs018348; Fri, 10 Nov 2023 16:06:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AAG6BNL018345; Fri, 10 Nov 2023 16:06:11 GMT (envelope-from git) Date: Fri, 10 Nov 2023 16:06:11 GMT Message-Id: <202311101606.3AAG6BNL018345@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 5a8417c78f9d - main - arm64: Check if PSCI before calling SMCCC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a8417c78f9d51bf1103353bee348eaac83e86e5 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=5a8417c78f9d51bf1103353bee348eaac83e86e5 commit 5a8417c78f9d51bf1103353bee348eaac83e86e5 Author: Andrew Turner AuthorDate: 2023-10-30 14:33:08 +0000 Commit: Andrew Turner CommitDate: 2023-11-10 16:01:13 +0000 arm64: Check if PSCI before calling SMCCC As SMCCC depends on PSCI check if the latter is present before calling the former. This fixes an issue where we may call into SMCCC when there is no PSCI in the system causing a smccc_version assert to fail. Reported by: stevek Reviewed by: emaste, imp, stevek Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42404 --- sys/arm64/arm64/cpu_errata.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c index fee22240bb0e..a03303d83044 100644 --- a/sys/arm64/arm64/cpu_errata.c +++ b/sys/arm64/arm64/cpu_errata.c @@ -40,6 +40,7 @@ #include +#include #include typedef void (cpu_quirk_install)(void); @@ -117,6 +118,9 @@ static struct cpu_quirks cpu_quirks[] = { static void install_psci_bp_hardening(void) { + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != SMCCC_RET_SUCCESS) return; @@ -140,6 +144,10 @@ install_ssbd_workaround(void) } } + /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */ + if (!psci_present) + return; + /* Enable the workaround on this CPU if it's enabled in the firmware */ if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS) return;