coreboot-kgpe-d16/src/cpu/x86
Damien Zammit 149c4c5d01 x86/smm: Initialize SMM on some CPUs one-by-one
We currently race in SMM init on Atom 230 (and potentially
other CPUs). At least on the 230, this leads to a hang on
RSM, likely because both hyperthreads mess around with
SMBASE and other SMM state variables in parallel without
coordination. The same behaviour occurs with Atom D5xx.

Change it so first APs are spun up and sent to sleep, then
BSP initializes SMM, then every CPU, one after another.

Only do this when SERIALIZE_SMM_INITIALIZATION is set.
Set the flag for Atom CPUs.

Change-Id: I1ae864e37546298ea222e81349c27cf774ed251f
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Reviewed-on: https://review.coreboot.org/6311
Tested-by: build bot (Jenkins)
Tested-by: BSI firmware lab <coreboot-labor@bsi.bund.de>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2015-12-02 00:38:45 +01:00
..
16bit x86: Add Kconfig to disable early bootblock postcodes 2015-11-19 00:16:50 +01:00
32bit x86: Add Kconfig to disable early bootblock postcodes 2015-11-19 00:16:50 +01:00
cache
lapic x86/smm: Initialize SMM on some CPUs one-by-one 2015-12-02 00:38:45 +01:00
mtrr tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
name tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
pae
smm Unify OBJCOPY arguments throughout various x86 stages 2015-11-24 14:48:22 +01:00
tsc x86: add standalone verstage support 2015-10-14 17:07:52 +00:00
Kconfig x86/smm: Initialize SMM on some CPUs one-by-one 2015-12-02 00:38:45 +01:00
Makefile.inc Unify OBJCOPY arguments throughout various x86 stages 2015-11-24 14:48:22 +01:00
car.c FSP 1.0: Fix CAR issues - broken timestamps and console 2015-11-24 21:21:43 +01:00
fpu_enable.inc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
mirror_payload.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
mp_init.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
sipi_vector.S tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
sse_enable.inc tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00