[PATCH] x86: Check if CPUID_INDEX_7_ECX_1 is supported first
Florian Weimer
fweimer@redhat.com
Tue Aug 25 06:36:37 GMT 2026
* H. J. Lu:
> diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
> index a453136827..0db33e0f35 100644
> --- a/sysdeps/x86/cpu-features.c
> +++ b/sysdeps/x86/cpu-features.c
> @@ -458,11 +458,13 @@ get_common_indices (struct cpu_features *cpu_features,
> cpu_features->features[CPUID_INDEX_7].cpuid.ebx,
> cpu_features->features[CPUID_INDEX_7].cpuid.ecx,
> cpu_features->features[CPUID_INDEX_7].cpuid.edx);
> - __cpuid_count (7, 1,
> - cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.eax,
> - cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.ebx,
> - cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.ecx,
> - cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.edx);
> + if (cpu_features->features[CPUID_INDEX_7].cpuid.eax != 0)
> + __cpuid_count
> + (7, 1,
> + cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.eax,
> + cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.ebx,
> + cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.ecx,
> + cpu_features->features[CPUID_INDEX_7_ECX_1].cpuid.edx);
> }
>
> if (cpu_features->basic.max_cpuid >= 0xd)
If subleaf 1 is not support, should we zero the fields?
Thanks,
Florian
More information about the Libc-alpha
mailing list