Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 cpu changes from Ingo Molnar: "Two changes in this cycle: a Kconfig help text enhancement, and an AMD CLZERO instruction capability detection and enumeration" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Add CLZERO detection x86/Kconfig/cpus: Fix/complete CPU type help texts
This commit is contained in:
@@ -3,10 +3,6 @@ choice
|
|||||||
prompt "Processor family"
|
prompt "Processor family"
|
||||||
default M686 if X86_32
|
default M686 if X86_32
|
||||||
default GENERIC_CPU if X86_64
|
default GENERIC_CPU if X86_64
|
||||||
|
|
||||||
config M486
|
|
||||||
bool "486"
|
|
||||||
depends on X86_32
|
|
||||||
---help---
|
---help---
|
||||||
This is the processor type of your CPU. This information is
|
This is the processor type of your CPU. This information is
|
||||||
used for optimizing purposes. In order to compile a kernel
|
used for optimizing purposes. In order to compile a kernel
|
||||||
@@ -23,9 +19,9 @@ config M486
|
|||||||
|
|
||||||
Here are the settings recommended for greatest speed:
|
Here are the settings recommended for greatest speed:
|
||||||
- "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
|
- "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
|
||||||
SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
|
SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
|
||||||
- "586" for generic Pentium CPUs lacking the TSC
|
- "586" for generic Pentium CPUs lacking the TSC
|
||||||
(time stamp counter) register.
|
(time stamp counter) register.
|
||||||
- "Pentium-Classic" for the Intel Pentium.
|
- "Pentium-Classic" for the Intel Pentium.
|
||||||
- "Pentium-MMX" for the Intel Pentium MMX.
|
- "Pentium-MMX" for the Intel Pentium MMX.
|
||||||
- "Pentium-Pro" for the Intel Pentium Pro.
|
- "Pentium-Pro" for the Intel Pentium Pro.
|
||||||
@@ -34,17 +30,31 @@ config M486
|
|||||||
- "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
|
- "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
|
||||||
- "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
|
- "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
|
||||||
- "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
|
- "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
|
||||||
|
- "Opteron/Athlon64/Hammer/K8" for all K8 and newer AMD CPUs.
|
||||||
- "Crusoe" for the Transmeta Crusoe series.
|
- "Crusoe" for the Transmeta Crusoe series.
|
||||||
- "Efficeon" for the Transmeta Efficeon series.
|
- "Efficeon" for the Transmeta Efficeon series.
|
||||||
- "Winchip-C6" for original IDT Winchip.
|
- "Winchip-C6" for original IDT Winchip.
|
||||||
- "Winchip-2" for IDT Winchips with 3dNow! capabilities.
|
- "Winchip-2" for IDT Winchips with 3dNow! capabilities.
|
||||||
|
- "AMD Elan" for the 32-bit AMD Elan embedded CPU.
|
||||||
- "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
|
- "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
|
||||||
- "Geode GX/LX" For AMD Geode GX and LX processors.
|
- "Geode GX/LX" For AMD Geode GX and LX processors.
|
||||||
- "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
|
- "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
|
||||||
- "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above).
|
- "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above).
|
||||||
- "VIA C7" for VIA C7.
|
- "VIA C7" for VIA C7.
|
||||||
|
- "Intel P4" for the Pentium 4/Netburst microarchitecture.
|
||||||
|
- "Core 2/newer Xeon" for all core2 and newer Intel CPUs.
|
||||||
|
- "Intel Atom" for the Atom-microarchitecture CPUs.
|
||||||
|
- "Generic-x86-64" for a kernel which runs on any x86-64 CPU.
|
||||||
|
|
||||||
If you don't know what to do, choose "486".
|
See each option's help text for additional details. If you don't know
|
||||||
|
what to do, choose "486".
|
||||||
|
|
||||||
|
config M486
|
||||||
|
bool "486"
|
||||||
|
depends on X86_32
|
||||||
|
---help---
|
||||||
|
Select this for an 486-class CPU such as AMD/Cyrix/IBM/Intel
|
||||||
|
486DX/DX2/DX4 or SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
|
||||||
|
|
||||||
config M586
|
config M586
|
||||||
bool "586/K5/5x86/6x86/6x86MX"
|
bool "586/K5/5x86/6x86/6x86MX"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <asm/disabled-features.h>
|
#include <asm/disabled-features.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NCAPINTS 13 /* N 32-bit words worth of info */
|
#define NCAPINTS 14 /* N 32-bit words worth of info */
|
||||||
#define NBUGINTS 1 /* N 32-bit bug flags */
|
#define NBUGINTS 1 /* N 32-bit bug flags */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -255,6 +255,9 @@
|
|||||||
/* Intel-defined CPU QoS Sub-leaf, CPUID level 0x0000000F:1 (edx), word 12 */
|
/* Intel-defined CPU QoS Sub-leaf, CPUID level 0x0000000F:1 (edx), word 12 */
|
||||||
#define X86_FEATURE_CQM_OCCUP_LLC (12*32+ 0) /* LLC occupancy monitoring if 1 */
|
#define X86_FEATURE_CQM_OCCUP_LLC (12*32+ 0) /* LLC occupancy monitoring if 1 */
|
||||||
|
|
||||||
|
/* AMD-defined CPU features, CPUID level 0x80000008 (ebx), word 13 */
|
||||||
|
#define X86_FEATURE_CLZERO (13*32+0) /* CLZERO instruction */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BUG word(s)
|
* BUG word(s)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -670,6 +670,7 @@ void get_cpu_cap(struct cpuinfo_x86 *c)
|
|||||||
|
|
||||||
c->x86_virt_bits = (eax >> 8) & 0xff;
|
c->x86_virt_bits = (eax >> 8) & 0xff;
|
||||||
c->x86_phys_bits = eax & 0xff;
|
c->x86_phys_bits = eax & 0xff;
|
||||||
|
c->x86_capability[13] = cpuid_ebx(0x80000008);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
else if (cpu_has(c, X86_FEATURE_PAE) || cpu_has(c, X86_FEATURE_PSE36))
|
else if (cpu_has(c, X86_FEATURE_PAE) || cpu_has(c, X86_FEATURE_PSE36))
|
||||||
|
|||||||
Reference in New Issue
Block a user