Skip To Main Content
Support Knowledge Base

How To Resolve Issues Encountered When Using a Intel® Xeon® Processor With an Intel® SGX Application

Content Type: Troubleshooting   |   Article ID: 000100019   |   Last Reviewed: 05/22/2025

Environment

Intel® Xeon® Processors

Description

Unable to check if Intel® Software Guard Extension (Intel® SGX) is enabled on the system. 

Resolution

To start look to resolve issues encountered when using an Intel® Xeon® processor with an Intel® Software Guard Extension (Intel® SGX) running on Ubuntu*, follow these steps:

  1. Verify SGX Support:

    • Ensure your Intel® Xeon® processor supports SGX by checking the CPUID leaf 12h. If SGX is not enabled in BIOS, the BIOS will not load MCHECK, and hence there will be no CPUID leaf 12h to report SGX status. The presence of the SOFTWARE_GUARD_STATUS UEFI variable implies SGX is supported in the system.
  2. BIOS Configuration:

    • Ensure that SGX is enabled in the BIOS setup. If SGX is disabled or the hardware configuration verification fails, the BIOS will disable SGX and gray out the setup options for SGX.
  3. System Firmware and Hardware Configuration:

    • Check the system firmware (BIOS) for correct socket population, memory population, or interleaving. If the configuration is not supported for SGX, BIOS will turn off SGX during the current boot.
  4. UEFI Variables:

    • Ensure the UEFI variables related to SGX are correctly set. Native UEFI software can access these tables using UEFI variable services, while software running on top of an OS needs to use the equivalent OS API to access UEFI variables.
  5. Install SGX Drivers and SDK:

    • Download and install the necessary SGX drivers and SDK from the official Intel SGX Linux* repository:
      https://download.01.org/intel-sgx/sgx-linux/
      
  6. Check for Kernel Compatibility:

    • Make sure your Ubuntu* version and kernel* are compatible with the SGX drivers. Check the SGX documentation for supported kernel versions and distributions.
  7. Debugging SGX Applications:

    • Utilize SGX debugging tools provided in the SGX SDK to troubleshoot issues within the enclave.
  8. Consult Documentation:

    • Refer to Intel® SGX documentation and user guides for detailed instructions on setting up SGX on Ubuntu*.
  9. Update System Components:

    • Ensure all system components, including BIOS, firmware, and OS, are updated to the latest versions to avoid compatibility issues.
  10. Log Errors:

    • Check the BIOS logs for any errors related to SGX configuration. BIOS logs errors/failures to the OS via Registration Status UEFI Variable and BMC (if present) for server manageability purposes.

By following these steps, you should be able to resolve common issues encountered when using an Intel® Xeon® processor with an SGX application running on Ubuntu*. For specific errors or additional support, refer to Intel® SGX technical support and community forums.