On 16.07.2025 15:28, Andrew Cooper wrote:
> This snapshot is prior to Linux commit db4001f9cc32 ("x86/cpu/vfm: Delete all
> the *_FAM6_ CPU #defines") at the end of their conversion phase.
> 
> In addition to non-FAM6 infixed names, defines are added for the Pentium Pro,
> ArrowLake U, and reintroduced the PHI defines which were incorrectly deleted
> in the past.
> 
> In cpufeature.h, provide VFM_* macros to transform constants to/from the
> cpuinfo_x86 representation.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
> ---
> CC: Jan Beulich <jbeul...@suse.com>
> CC: Roger Pau Monné <roger....@citrix.com>
> 
> I meant to object to deleting PHI at the time, but was too late.  Just because
> Xen has stopped supporting the PHI doesn't mean the model numbers have ceased
> existing.

I don't mind their re-introduction, yet I wonder what value their presence has
when we don't use them anywhere. In the public cpufeatureset.h they serve a
documentation purpose, to have less holes there. This could be view the same
here, yes, but it still seems (yet) less relevant.

> --- a/xen/arch/x86/include/asm/intel-family.h
> +++ b/xen/arch/x86/include/asm/intel-family.h
> @@ -13,8 +13,8 @@
>   *   INTEL_FAM6{OPTFAMILY}_{MICROARCH}{OPTDIFF}
>   * where:
>   * OPTFAMILY Describes the family of CPUs that this belongs to. Default
> - *           is assumed to be "_CORE" (and should be omitted). The other
> - *           value currently in use is _ATOM.
> + *           is assumed to be "_CORE" (and should be omitted). Other values
> + *           currently in use are _ATOM and _XEON_PHI

Nit: You lost the full stop.

> @@ -40,131 +40,223 @@
>   * their own names :-(
>   */
>  
> +#define IFM(_fam, _model)    VFM_MAKE(X86_VENDOR_INTEL, _fam, _model)
> +
>  /* Wildcard match for FAM6 so X86_MATCH_INTEL_FAM6_MODEL(ANY) works */
>  #define INTEL_FAM6_ANY                       X86_MODEL_ANY
> +/* Wildcard match for FAM6 so X86_MATCH_VFM(ANY) works */
> +#define INTEL_ANY                    IFM(X86_FAMILY_ANY, X86_MODEL_ANY)
> +
> +#define INTEL_PENTIUM_PRO            IFM(6, 0x01)
>  
>  #define INTEL_FAM6_CORE_YONAH                0x0E
> +#define INTEL_CORE_YONAH             IFM(6, 0x0E)

Here and below I assume it is deliberate that you use a raw number again,
rather than making use of the immediately preceding #define? Perhaps for
the sake of brevity?

Acked-by: Jan Beulich <jbeul...@suse.com>

Jan

Reply via email to