]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/cpu: Update x86_match_cpu() to also use cpu-type
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Tue, 11 Mar 2025 15:02:52 +0000 (08:02 -0700)
committerIngo Molnar <mingo@kernel.org>
Wed, 19 Mar 2025 10:17:11 +0000 (11:17 +0100)
commitadf2de5e8d85aad3fa0319e1a524fa97d2aa8f90
tree817c311becd245b0547f2ac152c3affc28b38613
parent00d7fc04b703eb3e9d61dd3eac02a34c466e9f12
x86/cpu: Update x86_match_cpu() to also use cpu-type

Non-hybrid CPU variants that share the same Family/Model could be
differentiated by their cpu-type. x86_match_cpu() currently does not use
cpu-type for CPU matching.

Dave Hansen suggested to use below conditions to match CPU-type:

  1. If CPU_TYPE_ANY (the wildcard), then matched
  2. If hybrid, then matched
  3. If !hybrid, look at the boot CPU and compare the cpu-type to determine
     if it is a match.

  This special case for hybrid systems allows more compact vulnerability
  list.  Imagine that "Haswell" CPUs might or might not be hybrid and that
  only Atom cores are vulnerable to Meltdown.  That means there are three
  possibilities:

   1. P-core only
   2. Atom only
   3. Atom + P-core (aka. hybrid)

  One might be tempted to code up the vulnerability list like this:

   MATCH(     HASWELL, X86_FEATURE_HYBRID, MELTDOWN)
   MATCH_TYPE(HASWELL, ATOM,               MELTDOWN)

  Logically, this matches #2 and #3. But that's a little silly. You would
  only ask for the "ATOM" match in cases where there *WERE* hybrid cores in
  play. You shouldn't have to _also_ ask for hybrid cores explicitly.

  In short, assume that processors that enumerate Hybrid==1 have a
  vulnerable core type.

Update x86_match_cpu() to also match cpu-type. Also treat hybrid systems as
special, and match them to any cpu-type.

Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/r/20250311-add-cpu-type-v8-4-e8514dcaaff2@linux.intel.com
arch/x86/kernel/cpu/match.c