coreboot-kgpe-d16/src/soc/intel/common
Patrick Rudolph 05bad430b6 soc/intel/common/block/sgx: Fix crash in MP init
On Hyper-Threading enabled platforms the MSR_PRMRR_PHYS_MASK was written
when already locked by the sibling thread. In addition it loads microcode
updates on all threads.

To prevent such race conditions only call the code on one thread, such
that the MSRs are only written once per core and the microcode is only
loaded once for each core.

Also add comments that describe the scope of the MSR that is being
written to and mention the Intel documents used for reference.

Fixes crash in SGX MP init.
Tested on Supermicro X11SSH-TF.

Change-Id: I7102da028a449c60ca700b3f9ccda9017aa6d6b5
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35312
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2019-10-15 08:19:02 +00:00
..
acpi soc/intel/common/acpi/dptf: Add fan based active cooling for TSR sensors 2019-09-03 07:10:36 +00:00
basecode soc/intel/common: Make infrastructure ready for Intel common stage files 2018-06-21 15:54:48 +00:00
block soc/intel/common/block/sgx: Fix crash in MP init 2019-10-15 08:19:02 +00:00
pch soc/intel: Rename <intelblocks/chip.h> 2019-09-29 03:38:13 +00:00
acpi.h soc/intel/common/block: Common ACPI 2017-09-08 19:01:04 +00:00
acpi_wake_source.c Move compiler.h to commonlib 2018-10-08 16:57:27 +00:00
hda_verb.c device/mmio.h: Add include file for MMIO ops 2019-03-04 15:57:39 +00:00
hda_verb.h
Kconfig cpu/x86/smm: Promote smm_memory_map() 2019-08-15 05:46:59 +00:00
Makefile.inc soc/intel/common: Bring DISPLAY_MTRRS into the light 2018-11-23 08:34:16 +00:00
mma.c src: Use 'include <string.h>' when appropriate 2019-03-20 20:27:51 +00:00
mma.h intel MMA: Enable MMA with FSP2.0 2016-12-13 18:00:43 +01:00
nhlt.c lib/nhlt: add support for setting the oem_revision 2016-12-01 08:17:42 +01:00
reset.c intel: Use CF9 reset (part 2) 2018-10-22 08:35:32 +00:00
reset.h intel: Use CF9 reset (part 2) 2018-10-22 08:35:32 +00:00
smbios.c soc/intel: Provide SPD manufacturer ID and module type to SMBIOS 2019-06-21 09:17:16 +00:00
smbios.h soc/intel: Provide SPD manufacturer ID and module type to SMBIOS 2019-06-21 09:17:16 +00:00
tpm_tis.c security/tpm: Change TPM naming for different layers. 2018-01-18 01:45:35 +00:00
vbt.c coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
vbt.h drivers/intel/gma, soc/intel/common: improve cooperation 2018-05-09 13:48:07 +00:00