coreboot-kgpe-d16/src/soc/intel/common
Robbie Zhang 7de031759b soc/intel/skylake: Add SGX initialization
This patch implements SGX initialization steps in coreboot per Intel SGX
BWG rev 2.0.8 for Kaby Lake SoC. If enabled on a Kabylake device, SoC
capability and PRM (processor reserved memory) of desired size (needs to
be configured through PrmrrSize) are provisioned for later software
stack to use SGX (i.e., run SGX enclaves).

One issue is still puzzling and needs to be addressed: by calling
configure_sgx() in cpu_core_init() which is the per-thread function, SGX
is always failing for thread 0 but is successful for other 3 threads.
I had to call configure_sgx() again from soc_init_cpus() which is the
BSP-only function to make it enable on the BSP.

Another pending work is the implementation for the Owner Epoch update
which shall be added later.

BUG=chrome-os-partner:62438
BRANCH=NONE
TEST=Tested on Eve, verified SGX activation is successful on all threads.

Change-Id: I8b64284875eae061fa8e7a01204d48d320a285a9
Signed-off-by: Robbie Zhang <robbie.zhang@intel.com>
Reviewed-on: https://review.coreboot.org/18445
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-03-23 19:57:17 +01:00
..
acpi soc/intel/common: Wrap lines at 80 columns 2017-03-15 04:59:35 +01:00
block soc/intel/skylake: Add SGX initialization 2017-03-23 19:57:17 +01:00
acpi.h src/soc: Capitalize CPU, ACPI, RAM and ROM 2016-07-31 19:27:53 +02:00
acpi_wake_source.c tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
gma.h soc/intel/common: Wrap lines at 80 columns 2017-03-15 04:59:35 +01:00
hda_verb.c soc/intel/common: Fix spacing issues 2017-03-13 17:08:34 +01:00
hda_verb.h tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
Kconfig soc/intel/common: Make infrastructure ready for Intel common code 2017-03-06 20:41:19 +01:00
lpss_i2c.c soc/intel/common: Fix unsigned warnings 2017-03-13 17:08:51 +01:00
lpss_i2c.h soc/intel/common: Fix unsigned warnings 2017-03-13 17:08:51 +01:00
Makefile.inc soc/intel/common: Make infrastructure ready for Intel common code 2017-03-06 20:41:19 +01:00
mma.c intel MMA: Enable MMA with FSP2.0 2016-12-13 18:00:43 +01:00
mma.h intel MMA: Enable MMA with FSP2.0 2016-12-13 18:00:43 +01:00
mrc_cache.c soc/intel/common: provide option to invalide MRC cache on recovery 2016-12-15 23:11:57 +01:00
mrc_cache.h soc/intel/common: remove mrc cache assumptions 2016-12-15 07:51:35 +01:00
nhlt.c lib/nhlt: add support for setting the oem_revision 2016-12-01 08:17:42 +01:00
nvm.c soc/intel/common: remove mrc cache assumptions 2016-12-15 07:51:35 +01:00
nvm.h soc/intel/common: remove mrc cache assumptions 2016-12-15 07:51:35 +01:00
opregion.c soc/intel/common: Add suppport for Extended VBT 2016-12-02 21:51:01 +01:00
opregion.h soc/intel/common: Add IGD OpRegion support 2016-05-18 07:03:13 +02:00
reset.c soc/intel/common: Fix build error in reset.c 2016-08-01 22:14:08 +02:00
smbios.c soc/intel/common: Pass the minimum possible string length for strncpy 2017-03-10 19:59:58 +01:00
smbios.h soc/intel/common: Pass the minimum possible string length for strncpy 2017-03-10 19:59:58 +01:00
smi.h soc/intel/common: Add common smihandler code 2016-05-25 19:09:00 +02:00
smihandler.c soc/intel/common: Wrap lines at 80 columns 2017-03-15 04:59:35 +01:00
spi_flash.c soc/intel: Use correct terminology for SPI flash operations 2016-11-22 17:39:07 +01:00
spi_flash.h soc/intel: Use correct terminology for SPI flash operations 2016-11-22 17:39:07 +01:00
util.c CPU: Declare cpu_phys_address_size() for all arch 2016-12-06 20:53:45 +01:00
util.h cpu/x86: Support CPUs without rdmsr/wrmsr instructions 2016-07-27 13:50:11 +02:00
vbt.c soc/intel/apollolake: Remove PEIM GFX from normal mode and S3 resume 2016-07-29 00:09:05 +02:00
vbt.h soc/intel/apollolake: Remove PEIM GFX from normal mode and S3 resume 2016-07-29 00:09:05 +02:00