qemu/include/hw/i386
Sean Christopherson 1dec2e1f19 i386: Update SGX CPUID info according to hardware/KVM/user input
Expose SGX to the guest if and only if KVM is enabled and supports
virtualization of SGX.  While the majority of ENCLS can be emulated to
some degree, because SGX uses a hardware-based root of trust, the
attestation aspects of SGX cannot be emulated in software, i.e.
ultimately emulation will fail as software cannot generate a valid
quote/report.  The complexity of partially emulating SGX in Qemu far
outweighs the value added, e.g. an SGX specific simulator for userspace
applications can emulate SGX for development and testing purposes.

Note, access to the PROVISIONKEY is not yet advertised to the guest as
KVM blocks access to the PROVISIONKEY by default and requires userspace
to provide additional credentials (via ioctl()) to expose PROVISIONKEY.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20210719112136.57018-13-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-09-30 14:50:20 +02:00
..
apic_internal.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
apic-msidef.h i386/msi: Correct mask of destination ID in MSI address 2017-12-01 18:28:15 +02:00
apic.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
hostmem-epc.h hostmem: Add hostmem-epc as a backend for SGX EPC 2021-09-30 14:50:19 +02:00
ich9.h hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
intel_iommu.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ioapic_internal.h x86: add support for second ioapic 2020-12-10 08:47:44 +01:00
ioapic.h x86: add support for second ioapic 2020-12-10 08:47:44 +01:00
microvm.h acpi: Move setters/getters of oem fields to X86MachineState 2021-03-22 18:58:19 -04:00
pc.h i386: Update SGX CPUID info according to hardware/KVM/user input 2021-09-30 14:50:20 +02:00
sgx-epc.h i386: Update SGX CPUID info according to hardware/KVM/user input 2021-09-30 14:50:20 +02:00
topology.h Revert "hw/i386: Update structures to save the number of nodes per package" 2020-09-02 07:29:26 -04:00
vmport.h hw/i386/vmport: Drop superfluous parenthesis around function typedef 2020-09-18 13:49:54 -04:00
x86-iommu.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
x86.h vl: Add sgx compound properties to expose SGX EPC sections to guest 2021-09-30 14:50:20 +02:00