On Tue, Mar 26, 2019 at 12:01:31PM +0000, Huang, Kai wrote: > On Wed, 2019-03-20 at 18:21 +0200, Jarkko Sakkinen wrote: > > Intel Software Guard eXtensions (SGX) is a set of CPU instructions that > > can be used by applications to set aside private regions of code and > > data. The code outside the enclave is disallowed to access the memory > > inside the enclave by the CPU access control. > > > > This commit adds the Linux SGX Enclave Driver that provides an ioctl API > > to manage enclaves. The address range for an enclave, commonly referred > > as ELRANGE in the documentation (e.g. Intel SDM), is reserved with > > mmap() against /dev/sgx. After that a set ioctls is used to build > > the enclave to the ELRANGE. > > > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> > > Co-developed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > > Co-developed-by: Serge Ayoun <serge.ayoun@xxxxxxxxx> > > Signed-off-by: Serge Ayoun <serge.ayoun@xxxxxxxxx> > > Co-developed-by: Shay Katz-zamir <shay.katz-zamir@xxxxxxxxx> > > Signed-off-by: Shay Katz-zamir <shay.katz-zamir@xxxxxxxxx> > > Co-developed-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> > > Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> > > --- > > Documentation/ioctl/ioctl-number.txt | 1 + > > arch/x86/Kconfig | 17 +- > > arch/x86/include/uapi/asm/sgx.h | 59 ++ > > arch/x86/kernel/cpu/sgx/Makefile | 5 +- > > arch/x86/kernel/cpu/sgx/driver/Makefile | 3 + > > arch/x86/kernel/cpu/sgx/driver/driver.h | 38 ++ > > arch/x86/kernel/cpu/sgx/driver/ioctl.c | 795 ++++++++++++++++++++++++ > > arch/x86/kernel/cpu/sgx/driver/main.c | 290 +++++++++ > > arch/x86/kernel/cpu/sgx/encl.c | 358 +++++++++++ > > arch/x86/kernel/cpu/sgx/encl.h | 88 +++ > > arch/x86/kernel/cpu/sgx/encls.c | 1 + > > arch/x86/kernel/cpu/sgx/main.c | 3 + > > arch/x86/kernel/cpu/sgx/sgx.h | 1 + > > 13 files changed, 1657 insertions(+), 2 deletions(-) > > create mode 100644 arch/x86/include/uapi/asm/sgx.h > > create mode 100644 arch/x86/kernel/cpu/sgx/driver/Makefile > > create mode 100644 arch/x86/kernel/cpu/sgx/driver/driver.h > > create mode 100644 arch/x86/kernel/cpu/sgx/driver/ioctl.c > > create mode 100644 arch/x86/kernel/cpu/sgx/driver/main.c > > create mode 100644 arch/x86/kernel/cpu/sgx/encl.c > > create mode 100644 arch/x86/kernel/cpu/sgx/encl.h > > Shouldn't the driver be located somewhere under drivers/, but not under arch/x86? > > I don't think x86 maintainers should have the burden to review every code change made to SGX driver? Not sure I got your angle. It is x86 tied code. $ git grep tristate arch/x86/ | wc -l 22 /Jarkko