Re: [PATCH v7 111/120] x86/percpu: Add offset argument to x86_this_cpu_test_bit()
From: Maciej Wieczor-Retman
Date: Mon Jun 01 2026 - 14:15:58 EST
On 2026-05-28 at 17:39:13 +0200, Ahmed S. Darwish wrote:
>x86_this_cpu_test_bit() assumes that the queried bitmap starts at the base
>address of the percpu object. For X86_FEATURE bitops, this matches the
>current cpuinfo_x86::x86_capability[] layout.
>
>Upcoming changes though will route all X86_FEATURE queries to the CPUID
>tables, where the bitmap resides at the per-CPU CPUID table plus an offset.
>
>Add an offset argument to x86_this_cpu_test_bit().
>
>Signed-off-by: Ahmed S. Darwish <darwi@xxxxxxxxxxxxx>
>---
> arch/x86/include/asm/cpufeature.h | 2 +-
> arch/x86/include/asm/percpu.h | 34 ++++++++++++++++++-------------
> 2 files changed, 21 insertions(+), 15 deletions(-)
>
>diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
>index 520949560138..b12bde4986b5 100644
>--- a/arch/x86/include/asm/cpufeature.h
>+++ b/arch/x86/include/asm/cpufeature.h
>@@ -56,7 +56,7 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
>
> #define this_cpu_has(bit) \
> (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
>- x86_this_cpu_test_bit(bit, cpu_info.x86_capability))
>+ x86_this_cpu_test_bit(bit, cpu_info.x86_capability, 0))
I think the same change needs to be applied in the same arch/um directory since
it has a matching this_cpu_has() implementation and it uses x86's percpu.h.
--
Kind regards
Maciej Wieczór-Retman