Re: [PATCH v6 00/90] x86: Introduce a centralized CPUID data model

"Ahmed S. Darwish" <[email protected]> Thu, 7 May 2026 22:02:15 +0200
Newsgroups dev.linux.lists.x86-cpuid,org.kernel.vger.linux-kernel
Message-ID <afzvx3datNVJJtST@lx-t490>
Hi,

On Thu, 07 May 2026, Borislav Petkov wrote:
>
> On Wed, May 06, 2026 at 10:52:01PM +0200, Ahmed S. Darwish wrote:
> > For the /current/ scattered feature bits, the array which maps them to
> > their hardware backing:
> >
> >     static const struct cpuid_bit cpuid_bits[] = {
> > 	{ X86_FEATURE_APERFMPERF,	CPUID_ECX,  0, 0x00000006, 0 },
> > 	{ X86_FEATURE_EPB,		CPUID_ECX,  3, 0x00000006, 0 },
> > 	{ ... },
> >     }
> >
> > is needed.
>
> My assumption is that at the end of the patchset, scattered.c is gone because
> we have *all* hw CPUID functions present.
>

Not in this patchset, but in a follow-up one, yes.

For the scattered.c code to be removed, per-bit mappings to the CPUID
table, for the hardware-backed synthetic feature bits, will need to be
added.

Due to all the code which required per-word access semantics to x86
features, [*] I prioritized finishing the cpuid_word.*() APIs and such word
mappings first.

Thanks,
Ahmed

[*] KVM's reverse feature maps, early 32-bit ASM code, the AWK and shell
    code generation build scripts, early boot feature validation, feature
    naming tables, etc.