coreboot/src/cpu/intel
Aaron Durbin af3158c0cf lynxpoint: split clearing and enabling of smm
Previously southbridge_smm_init() was provided that did both
the clearing of the SMM state and enabling SMIs. This is
troublesome in how haswell machines bring up the APs. The BSP
enters SMM once to determine if parallel SMM relocation is possible.
If it is possible the BSP releases the APs to do SMM relocation.
Normally, after the APs complete the SMM relocation, the BSP would then
re-enter the relocation handler to relocate its own SMM space.
However, because SMIs were previously enabled it is possible for an SMI
event to occur before the APs are complete or have entered the
relocation handler. This is bad because the BSP will turn off parallel
SMM save state. Additionally, this is a problem because the relocation
handler is not written to handle regular SMIs which can cause an
SMI storm which effectively looks like a hung machine. Correct these
issues by turning on SMIs after all the SMM relocation has occurred.

Change-Id: Id4f07553b110b9664d51d2e670a14e6617591500
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2977
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-04-01 23:24:32 +02:00
..
car GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
ep80579 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
fit x86 intel: Add Firmware Interface Table support 2013-03-17 22:53:51 +01:00
haswell lynxpoint: split clearing and enabling of smm 2013-04-01 23:24:32 +02:00
hyperthreading Intel CPUs: Fix counting of CPU cores 2012-08-03 12:19:31 +02:00
microcode Intel: Update CPU microcode script 2013-03-21 23:19:33 +01:00
model_6bx Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_6dx Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_6ex GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
model_6fx Intel: Update CPU microcode for 6fx CPUs 2013-03-21 23:20:40 +01:00
model_6xx Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_65x GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
model_67x GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
model_68x GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
model_69x Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_106cx Intel: Update CPU microcode for 106cx CPUs 2013-03-21 23:20:06 +01:00
model_206ax x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
model_1067x Intel: Update CPU microcode for 1067x CPUs 2013-03-20 04:15:17 +01:00
model_f0x Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_f1x Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_f2x Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_f3x Get rid of drivers class 2012-11-27 22:00:49 +01:00
model_f4x Get rid of drivers class 2012-11-27 22:00:49 +01:00
slot_1 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
slot_2 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
socket_441 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
socket_BGA956 intel/socket_BGA956: enable speedstep, CAR, MMX, SSE 2012-11-06 21:51:43 +01:00
socket_FC_PGA370 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
socket_LGA771 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_LGA775 Fix socket LGA775 2013-03-07 00:46:32 +01:00
socket_mFCBGA479 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_mFCPGA478 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_mPGA478 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_mPGA479M Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_mPGA603 Fix typo in mPGA603 socket 2012-10-07 21:48:37 +02:00
socket_mPGA604 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
socket_PGA370 GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
socket_rPGA989 Remove chip.h files without config structure 2012-10-07 12:55:04 +02:00
speedstep sconfig: rename lapic_cluster -> cpu_cluster 2013-02-14 07:07:20 +01:00
thermal_monitoring drop unused code (trivial) 2008-08-01 11:53:39 +00:00
turbo Add support for Intel Turbo Boost feature 2012-04-03 20:29:33 +02:00
Kconfig x86 intel: Add Firmware Interface Table support 2013-03-17 22:53:51 +01:00
Makefile.inc haswell: Add initial support for Haswell platforms 2013-03-14 01:44:40 +01:00