[PATCH v7 053/120] x86/mm/pti: Use standard CPUID(0x1) types
From: Ahmed S. Darwish
Date: Thu May 28 2026 - 12:12:36 EST
Use standard CPUID(0x1) types from x86-cpuid-db instead of a manual bitwise
operation.
Note, keep issuing a direct CPUID query since disabling a feature bit like
X86_FEATURE_PCID will disable its backing cached CPUID bit in the future.
Signed-off-by: Ahmed S. Darwish <darwi@xxxxxxxxxxxxx>
---
arch/x86/mm/pti.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
index 598f553cc871..1f0a5e84cdca 100644
--- a/arch/x86/mm/pti.c
+++ b/arch/x86/mm/pti.c
@@ -631,13 +631,16 @@ void __init pti_init(void)
pr_info("enabled\n");
#ifdef CONFIG_X86_32
+ struct leaf_0x1_0 l1;
+
/*
* We check for X86_FEATURE_PCID here. But the init-code will
* clear the feature flag on 32 bit because the feature is not
* supported on 32 bit anyway. To print the warning we need to
* check with cpuid directly again.
*/
- if (cpuid_ecx(0x1) & BIT(17)) {
+ cpuid_read(0x1, &l1);
+ if (l1.pcid) {
/* Use printk to work around pr_fmt() */
printk(KERN_WARNING "\n");
printk(KERN_WARNING "************************************************************\n");
--
2.54.0