All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] x86/cpu: Mark Ice Lake model 7D and 9D as unreleased
@ 2025-06-11 18:00 Pawan Gupta
  2025-06-11 18:52 ` Andrew Cooper
  0 siblings, 1 reply; 3+ messages in thread
From: Pawan Gupta @ 2025-06-11 18:00 UTC (permalink / raw)
  To: x86; +Cc: tony.luck, H. Peter Anvin, linux-kernel, Andrew Cooper,
	Dave Hansen

These models were never officially released, but they made it into
intel-family.h. There is no evidence that these models are being used in
production. As a matter of fact, Intel's affected CPU list[1] does not
contain these models.

During CPU mitigations it gets confusing whether to include these models
with other Ice Lake models or not. Add the comment in the intel-family.h to
indicate that these models were never released. Also taint and warn about
these unreleased models, except when running as a guest.

[1] https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
---
Please scream if you believe that the assumptions made in this patch are
incorrect.
---
 arch/x86/include/asm/intel-family.h |  4 ++--
 arch/x86/kernel/cpu/intel.c         | 12 ++++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/intel-family.h b/arch/x86/include/asm/intel-family.h
index be10c188614fe24ad41e2e1912b8d5640c6ea171..948e0a057a9629dc57671e4c666b5f62e762d4bb 100644
--- a/arch/x86/include/asm/intel-family.h
+++ b/arch/x86/include/asm/intel-family.h
@@ -110,9 +110,9 @@
 
 #define INTEL_ICELAKE_X			IFM(6, 0x6A) /* Sunny Cove */
 #define INTEL_ICELAKE_D			IFM(6, 0x6C) /* Sunny Cove */
-#define INTEL_ICELAKE			IFM(6, 0x7D) /* Sunny Cove */
+#define INTEL_ICELAKE			IFM(6, 0x7D) /* Sunny Cove, never released */
 #define INTEL_ICELAKE_L			IFM(6, 0x7E) /* Sunny Cove */
-#define INTEL_ICELAKE_NNPI		IFM(6, 0x9D) /* Sunny Cove */
+#define INTEL_ICELAKE_NNPI		IFM(6, 0x9D) /* Sunny Cove, never released */
 
 #define INTEL_ROCKETLAKE		IFM(6, 0xA7) /* Cypress Cove */
 
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index 076eaa41b8c81b2dd9be129d14dc7c8041eb2e79..b7eb8d5ee4351bf4a31e6a2792d24f7dbc0773ed 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -337,9 +337,21 @@ static void early_init_intel(struct cpuinfo_x86 *c)
 		detect_tme_early(c);
 }
 
+static const struct x86_cpu_id unreleased_cpus[] = {
+	X86_MATCH_VFM(INTEL_ICELAKE,		0),
+	X86_MATCH_VFM(INTEL_ICELAKE_NNPI,	0),
+	{},
+};
+
 static void bsp_init_intel(struct cpuinfo_x86 *c)
 {
 	resctrl_cpu_detect(c);
+
+	if (x86_match_cpu(unreleased_cpus) && !cpu_has(c, X86_FEATURE_HYPERVISOR)) {
+		add_taint(TAINT_CPU_OUT_OF_SPEC, LOCKDEP_STILL_OK);
+		WARN_ONCE(1, "WARNING: CPU family=0x%x, model=0x%x is unreleased, tainting\n",
+			  c->x86, c->x86_model);
+	}
 }
 
 #ifdef CONFIG_X86_32

---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250514-icelake-cleanup-d7a831204d96

Best regards,
-- 
Pawan



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-06-11 19:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-11 18:00 [RFC PATCH] x86/cpu: Mark Ice Lake model 7D and 9D as unreleased Pawan Gupta
2025-06-11 18:52 ` Andrew Cooper
2025-06-11 19:24   ` Dave Hansen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.