Skip to content

Commit 0362862

Browse files
authored
Disable PAuth to allow all CPUs to boot with KVM on QCS8300 (#1636)
On QCS8300 platforms, ARM64 Pointer Authentication (PAuth) is supported only on the boot CPUs (0–3) and not on the secondary CPUs (4–7). The ARM64 CPU feature discovery logic expects secondary CPUs to support all features enabled on the boot CPU. When this mismatch is detected, the secondary CPUs are prevented from booting, which is undesirable for production systems. To ensure that all CPUs can boot correctly, disable PAuth by appending `arm64.nopauth` to the kernel cmdline. This issue is observed only when Linux is booted in EL2 (i.e. KVM in use). When Linux runs under Gunyah (Type‑1 hypervisor), the PAuth feature is hidden from EL1 via HCR_EL2.TID3.
2 parents 61bbe21 + 4fd8238 commit 0362862

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

conf/machine/include/qcom-qcs8300.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ require conf/machine/include/qcom-common.inc
77
DEFAULTTUNE = "armv8-2a-crypto"
88
require conf/machine/include/arm/arch-armv8-2a.inc
99

10+
# Disable PAuth via cmdline to allow all cores to boot with KVM.
11+
# More details at https://lore.kernel.org/all/3fcf6614-ee83-4a06-9024-83573b2e642e@quicinc.com/
12+
KERNEL_CMDLINE_EXTRA:append = " arm64.nopauth"
13+
1014
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
1115
packagegroup-qcom-boot-essential \
1216
packagegroup-machine-essential-qcom-qcs8300-soc \

0 commit comments

Comments
 (0)