coreboot-kgpe-d16/src/cpu/intel
Arthur Heymans df7aecd926 cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR
Some CPUs, (Intel core2 and pineview) have slightly different SMRR
MTRR mechanism. The MSR_SMRR_PHYSBASE/MASK MSRs are at a different
location, have slightly different semantics and need SMRR enable in a
locked down IA32_FEATURE_CONTROL MSR.

This change takes away the possibility to (not) lock
IA32_FEATURE_CONTROL on these CPUs, as this is needed for SMRR MSR to
work. Since sockets cover multiple CPUs of which only some support
SMRR, the Kconfig option CONFIG_SET_IA32_FC_LOCK_BIT is kept in place,
even though it gets meaningless on those CPUs. Locking that bit was
the default anyway.

With this patch Intel Netburst CPUs also configure
IA32_FEATURE_CONTROL. According to Intel 64 and IA-32 Architectures
Software Developer's Manual those CPUs support that MSR so issues are
not to be expected.

Change-Id: Ia85602e75385e24ebded75e6e6dd38ccc969a76b
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/27586
Tested-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Martin Roth <martinroth@google.com>
2019-01-24 13:42:36 +00:00
..
car cpu/intel/car: Remove unneeded white space 2019-01-17 13:20:43 +00:00
common cpu/intel/common: Fix generated exception if not supported VMX 2019-01-09 09:49:50 +00:00
fit
fsp_model_406dx cpu/intel/model_406dx: Remove the notion of CPU sockets 2019-01-24 13:40:39 +00:00
haswell cpu/intel: Use the common code to initialize the romstage timestamps 2019-01-09 09:56:06 +00:00
hyperthreading src: Remove unneeded include "{arch,cpu}/cpu.h" 2018-11-12 09:22:18 +00:00
microcode buildsystem: Promote rules.h to default include 2019-01-16 11:51:07 +00:00
model_6bx
model_6dx
model_6ex cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR 2019-01-24 13:42:36 +00:00
model_6fx cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR 2019-01-24 13:42:36 +00:00
model_6xx 3rdparty/blobs: Update for current Intel microcode 2019-01-10 09:24:47 +00:00
model_65x
model_67x
model_68x
model_69x
model_106cx cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR 2019-01-24 13:42:36 +00:00
model_206ax cpu/intel/model_206ax: Remove the notion of sockets 2019-01-24 13:39:19 +00:00
model_1067x cpu/intel: Configure IA32_FEATURE_CONTROL for alternative SMRR 2019-01-24 13:42:36 +00:00
model_2065x cpu/intel/model_206ax: Use parallel MP init 2019-01-22 12:16:18 +00:00
model_f2x
model_f3x nb/intel/i945: Use parallel MP init 2019-01-23 14:46:36 +00:00
model_f4x nb/intel/x4x: Use parallel MP init 2019-01-23 14:47:53 +00:00
slot_1 src: Remove unneeded include "{arch,cpu}/cpu.h" 2018-11-12 09:22:18 +00:00
smm/gen1 cpu/intel/model_206ax: Use parallel MP init 2019-01-22 12:16:18 +00:00
socket_441
socket_BGA956
socket_BGA1284
socket_FCBGA559 cpu/intel/socket_FCBGA559: Use the non-evict cache as ram setup 2019-01-15 11:38:01 +00:00
socket_LGA775
socket_mFCPGA478 cpu/intel/socket_mFCPGA478/Kconfig: Add MODEL_6{9,D}X 2018-11-19 08:13:49 +00:00
socket_mPGA478
socket_mPGA478MN
socket_mPGA604 aopen/dxplplusu: Switch to C_ENVIRONMENT_BOOTBLOCK 2019-01-13 08:38:13 +00:00
speedstep arch/x86/acpigen.c: Add a method to notify all CPU cores 2018-11-29 12:19:31 +00:00
thermal_monitoring
turbo src: Move common IA-32 MSRs to <cpu/x86/msr.h> 2018-10-11 21:06:53 +00:00
Kconfig cpu/intel/model_406dx: Remove the notion of CPU sockets 2019-01-24 13:40:39 +00:00
Makefile.inc cpu/intel/model_406dx: Remove the notion of CPU sockets 2019-01-24 13:40:39 +00:00