The BIOS of the motherboard (Asus z170 BIOS 3101) supports software controlled SGX. so, to use the SGX, it should be first activated by the software. I would expect that PSW installer should activate it, however, it does not have that functionality. It also does not export sgx_cap_enable_device/sgx_enable_device functions.
What should be the procedure to activate the SGX in this case? Are there any utilities/UEFI roms to activate it?
sgx_enable_device is exposed in sgx_uae_service.dll
The SampleEnclave, for example, calls this API. The idea is that the PSW can be installed on systems where SGX isn't yet enabled. End-user applications that will actually use SGX functionality can enable it during their installation (sgx_cap_enable_device), or at runtime (sgx_enable_device).
Note that a restart is required afterwards.
I was referring to the Linux SGX SDK. Is there any specification of what sgx_enable_device implementation in Windows SGX SDK does, so I could implement that functionality by myself, if no tool exists?
Facing the same issue. Have Z170-A, confirmed that SGX exists on the CPU using CPUID, have only "software controlled" option for SGX in the bios. Is "sgx_enable_device" possible to call from Linux yet? Will a VM method even work?