coreboot/src
Robbie Zhang 747437500e UPSTREAM: 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: I3bca7131d5f51a7bdb913cc6ae135b910d3aa52e
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 7de031759b
Original-Change-Id: I8b64284875eae061fa8e7a01204d48d320a285a9
Original-Signed-off-by: Robbie Zhang <robbie.zhang@intel.com>
Original-Reviewed-on: https://review.coreboot.org/18445
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/459664
2017-03-25 10:22:56 -07:00
..
acpi UPSTREAM: src/acpi: Capitalize ACPI and SATA 2016-08-04 23:37:57 -07:00
arch UPSTREAM: arch/x86: Fix most of remaining issues detected by checkpatch 2017-03-22 10:08:19 -07:00
commonlib UPSTREAM: commonlib: Wrap lines at 80 columns 2017-03-14 07:25:36 -07:00
console UPSTREAM: console: Enable do_printk_va_list for VBOOT 2017-01-05 11:00:16 -08:00
cpu UPSTREAM: cpu/x86: add a barrier with timeout 2017-03-20 17:33:15 -07:00
device UPSTREAM: device/dram/ddr2: Add common ddr2 spd decoder 2017-03-10 10:54:48 -08:00
drivers UPSTREAM: nb/i945/gma.c: Refactor panel setup 2017-03-20 10:33:11 -07:00
ec UPSTREAM: ec/lenovo/h8: Support an optional battery page flip delay 2017-03-22 10:08:22 -07:00
include UPSTREAM: cpu/x86: add a barrier with timeout 2017-03-20 17:33:15 -07:00
lib UPSTREAM: src/lib: Clean up general issues found by checkpatch.pl 2017-03-16 11:25:34 -07:00
mainboard UPSTREAM: mainboard/samsung/stumpy: transition away from device_t 2017-03-25 10:22:54 -07:00
northbridge UPSTREAM: northbridge/via/vx900: transition away from device_t 2017-03-25 03:51:12 -07:00
soc UPSTREAM: soc/intel/skylake: Add SGX initialization 2017-03-25 10:22:56 -07:00
southbridge UPSTREAM: southbridge/intel/i82801gx: Fix problems found by checkpatch.pl 2017-03-23 08:22:33 -07:00
superio UPSTREAM: sio/ite/it8783ef: Return (0) in ACPI _PSC methods 2016-12-16 04:50:43 -08:00
vboot UPSTREAM: src/vboot: Add valid license headers to all files 2017-03-25 10:22:55 -07:00
vendorcode UPSTREAM: vboot/tpm2: enable nvmem commits on cr50 when writing firmware secdata 2017-03-10 10:54:45 -08:00
Kconfig UPSTREAM: GDB_WAIT: Clarify Kconfig description 2017-03-16 00:11:36 -07:00