FreeBSD/src 2164af2 (r322574)sys/amd64/include sgxreg.h cpufunc.h, sys/amd64/sgx sgx.c sgx_linux.c

Add support for Intel Software Guard Extensions (Intel SGX).

Intel SGX allows to manage isolated compartments "Enclaves" in user VA
space. Enclaves memory is part of processor reserved memory (PRM) and
always encrypted. This allows to protect user application code and data
from upper privilege levels including OS kernel.

This includes SGX driver and optional linux ioctl compatibility layer.
Intel SGX SDK for FreeBSD is also available.

Note this requires support from hardware (available since late Intel
Skylake CPUs).

Many thanks to Robert Watson for support and Konstantin Belousov
for code review.

Project wiki: https://wiki.freebsd.org/Intel_SGX.

Reviewed by:    kib
Relnotes:       yes
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D11113
DeltaFile
+1,211-0sys/amd64/sgx/sgx.c
+155-0sys/amd64/include/sgxreg.h
+119-0sys/amd64/sgx/sgx_linux.c
+91-0sys/amd64/sgx/sgxvar.h
+79-0sys/amd64/include/cpufunc.h
+70-0sys/amd64/sgx/sgx_support.S
+64-0sys/amd64/include/sgx.h
+12-0sys/modules/sgx/Makefile
+8-0sys/modules/sgx_linux/Makefile
+4-0sys/modules/Makefile
+1,813-010 files

UnifiedSplitRaw