1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Prarit Bhargava <prarit@redhat.com>
Date: Thu, 11 Jun 2020 21:03:36 -0400
Subject: [PATCH] arch/x86: Remove vendor specific CPU ID checks
Upstream Status: RHEL only
After discussions with Devel, QE, Support, and Certification we have
decided to drop the CPU specific checks in rh_check_supported().
Certification is adopting a new process in which CPU certifications will
be tracked on https://catalog.redhat.com.
Remove the vendor specific CPU ID checks from rh_check_supported().
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Cc: David Arcari <darcari@redhat.com>
---
arch/x86/kernel/setup.c | 85 -----------------------------------------
1 file changed, 85 deletions(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 66441cb9c1af..6100995124f9 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -758,72 +758,6 @@ static void __init trim_low_memory_range(void)
}
#ifdef CONFIG_RHEL_DIFFERENCES
-static bool valid_amd_processor(__u8 family, const char *model_id)
-{
- bool valid;
-
- switch(family) {
- case 0x15:
- valid = true;
- break;
-
- case 0x17:
- valid = strstr(model_id, "AMD EPYC 7");
- break;
-
- default:
- valid = false;
- break;
- }
-
- return valid;
-}
-
-static bool valid_intel_processor(__u8 family, __u8 model, __u8 stepping)
-{
- bool valid;
-
- if (family != 6)
- return false;
-
- switch(model) {
- case INTEL_FAM6_ATOM_GOLDMONT_D:
- case INTEL_FAM6_ATOM_GOLDMONT_PLUS:
-
- case INTEL_FAM6_BROADWELL:
- case INTEL_FAM6_BROADWELL_G:
- case INTEL_FAM6_BROADWELL_X:
- case INTEL_FAM6_BROADWELL_D:
-
- case INTEL_FAM6_HASWELL:
- case INTEL_FAM6_HASWELL_G:
- case INTEL_FAM6_HASWELL_L:
- case INTEL_FAM6_HASWELL_X:
- valid = true;
- break;
-
- case INTEL_FAM6_KABYLAKE:
- valid = (stepping <= 10);
- break;
-
- case INTEL_FAM6_KABYLAKE_L:
- valid = (stepping <= 11);
- break;
-
- case INTEL_FAM6_SKYLAKE_L:
- case INTEL_FAM6_SKYLAKE:
- case INTEL_FAM6_SKYLAKE_X:
- /* stepping > 4 is Cascade Lake and is not supported */
- valid = (stepping <= 4);
- break;
-
- default:
- valid = false;
- break;
- }
-
- return valid;
-}
static void rh_check_supported(void)
{
@@ -844,27 +778,8 @@ static void rh_check_supported(void)
*/
switch (boot_cpu_data.x86_vendor) {
case X86_VENDOR_AMD:
- if (!valid_amd_processor(boot_cpu_data.x86,
- boot_cpu_data.x86_model_id)) {
- pr_crit("Detected CPU family %xh model %d\n",
- boot_cpu_data.x86,
- boot_cpu_data.x86_model);
- mark_hardware_unsupported("AMD Processor");
- }
- break;
-
case X86_VENDOR_INTEL:
- if (!valid_intel_processor(boot_cpu_data.x86,
- boot_cpu_data.x86_model,
- boot_cpu_data.x86_stepping)) {
- pr_crit("Detected CPU family %d model %d stepping %d\n",
- boot_cpu_data.x86,
- boot_cpu_data.x86_model,
- boot_cpu_data.x86_stepping);
- mark_hardware_unsupported("Intel Processor");
- }
break;
-
default:
pr_crit("Detected processor %s %s\n",
boot_cpu_data.x86_vendor_id,
--
2.28.0
|