From nobody Fri Sep 19 10:30:06 2025 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 4cSpfk4xGGz67ncX; Fri, 19 Sep 2025 10:30:06 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cSpfk3vK4z3LZy; Fri, 19 Sep 2025 10:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758277806; 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=6M2S6uC/36glgu+KeCa0DTI2spWCpOybw5lWDPotPVQ=; b=ScQ+OcjKCll2YLRWJGh9Ow7bpNxxL5IOVNe5owvWRinH6/hk33mD02ZnqyFfi+Kh1X0U7t DZxD9BpI8r5DZ7HZmPx/4d7nLYNJA1xQqSJF3RxuuFqi3SaLBIvRmFxWbvDZfElOR54i5J 5FJjC+Pnh2rHG6CCKB3B2p06P8/e/M6YmKy35qmZM1ykrJo7ycF0FkMIbkmSISkyLDU0K1 zJpyuaqOVISslPjLzjAhWhVy+yd7LTHXE3eZ2x6W8FMOzycJvnwL8tFgA93SHQ5cJob4RF 1WKvMo0QxNfQ1DtM5U4iAorwZBPuzO01Ted17oM369tW3iyR2Vmfq4oLgNsjTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758277806; 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=6M2S6uC/36glgu+KeCa0DTI2spWCpOybw5lWDPotPVQ=; b=aLK/ixiZbUiApBkehULv1qaX+qGC9IHstMuLiuK0EnVzKaxBSNquChg4Op4M/nJEnQHwRq 3p1ImW8P7CGi56z7KMrVKkUj9j6NmG0A/G2hDqTr/RKkXnwCkLhqTZ8m37WHWYJb5V1xlC 69jKrCdmr9XpQj5iA2FhU2MQd+FCmCVNKB8zKKDVkB98Sivo9hHOVCuYzLpfiaB+mY3cUD hq+Qe8/5C5rBhFPUILPPUG8x+/EZanEM3reCrA+I7L9miMZPDpec807CTW4nx6XcvUVcaF 0f9LIh8kYQdNqW82rJAg7LhuDt1kouNWUTnqt7Z9A1MnFXNMKdAgYpLNYv56XQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758277806; a=rsa-sha256; cv=none; b=dLTNPwlKjrD5c+hP/HlC3H9cXY3PE5O+fvacGpvaSoJLswNx0ObI1X34qtURlftUfasdDD 8LZJ0dmA781FroiN/lhIbXPyPmEl0iE6KQ10UQzz/0WdfTg8ytvQKd6ujdTZCZB2pAGrd+ 3irpqsO4dEb/Uh8v6MYX921vaNqE8TkYj428pGTVE45QkuzTCtaGufv5JV0lIKHDIiLeKm 8wieVqOnGmWimlsQobKAkFKOMVTlOHhepb7YigURtwafPPB4fUERukwzWsugBzvHJ9SEkJ iNGp0wDBhqsbX68DH6OdEAdDQUZW691BF7Y/pSHPEXMJ33r5lUa69LhmVOkIwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cSpfk3Sm3ztKP; Fri, 19 Sep 2025 10:30:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58JAU6hT003985; Fri, 19 Sep 2025 10:30:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58JAU6CE003980; Fri, 19 Sep 2025 10:30:06 GMT (envelope-from git) Date: Fri, 19 Sep 2025 10:30:06 GMT Message-Id: <202509191030.58JAU6CE003980@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: 72828486ca94 - main - arm64: Move the FEAT_PAN check later 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 72828486ca9412f118d7e2316e584cd1cab8c90f Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=72828486ca9412f118d7e2316e584cd1cab8c90f commit 72828486ca9412f118d7e2316e584cd1cab8c90f Author: Andrew Turner AuthorDate: 2025-09-19 10:05:46 +0000 Commit: Andrew Turner CommitDate: 2025-09-19 10:05:46 +0000 arm64: Move the FEAT_PAN check later We only need to enable PAN (Privileged access never) before userspace is running. Before that there are no unprivileged mappings to protect the kernel from accessing. While here switch to use get_kernel_reg to handle the case some CPUs have FEAT_PAN, while some don't. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52576 --- sys/arm64/arm64/machdep.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 47c701e8588c..29ffa5109305 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -178,7 +178,8 @@ pan_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t id_aa64mfr1; - id_aa64mfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); + if (!get_kernel_reg(ID_AA64MMFR1_EL1, &id_aa64mfr1)) + return (FEAT_ALWAYS_DISABLE); if (ID_AA64MMFR1_PAN_VAL(id_aa64mfr1) == ID_AA64MMFR1_PAN_NONE) return (FEAT_ALWAYS_DISABLE); @@ -209,7 +210,7 @@ pan_enable(const struct cpu_feat *feat __unused, CPU_FEAT(feat_pan, "Privileged access never", pan_check, NULL, pan_enable, - CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); bool has_hyp(void)