qemu/hw/i386
Sean Christopherson 0cf4ce00d2 hw/i386/pc: Account for SGX EPC sections when calculating device memory
Add helpers to detect if SGX EPC exists above 4g, and if so, where SGX
EPC above 4g ends.  Use the helpers to adjust the device memory range
if SGX EPC exists above 4g.

For multiple virtual EPC sections, we just put them together physically
contiguous for the simplicity because we don't support EPC NUMA affinity
now. Once the SGX EPC NUMA support in the kernel SGX driver, we will
support this in the future.

Note that SGX EPC is currently hardcoded to reside above 4g.

Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20210719112136.57018-18-yang.zhong@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-09-30 15:30:24 +02:00
..
kvm i386/kvm: The value passed to strerror should be positive 2021-06-05 21:01:17 +02:00
xen docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
acpi-build.c hw/i386/acpi-build: Fix a typo 2021-09-15 14:47:42 +02:00
acpi-build.h hw/acpi/ich9: Enable ACPI PCI hot-plug 2021-07-16 04:33:35 -04:00
acpi-common.c acpi: Permit OEM ID and OEM table ID fields to be changed 2021-02-05 08:52:59 -05:00
acpi-common.h misc: Correct relative include path 2021-06-05 21:10:42 +02:00
acpi-microvm.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
acpi-microvm.h microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
amd_iommu.c amd_iommu: fix wrong MMIO operations 2021-05-14 10:26:18 -04:00
amd_iommu.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
e820_memory_layout.c
e820_memory_layout.h
fw_cfg.c hw/i386/fw_cfg: Set SGX bits in feature control fw_cfg accordingly 2021-09-30 15:30:24 +02:00
fw_cfg.h acpi: factor out fw_cfg_add_acpi_dsdt() 2020-06-24 17:18:28 -04:00
generic_event_device_x86.c acpi: ged: add x86 device variant. 2020-09-17 14:16:19 +02:00
intel_iommu_internal.h intel_iommu: Use correct shift for 256 bits qi descriptor 2020-07-22 07:57:07 -04:00
intel_iommu.c intel_iommu: Fix typo in comments 2021-09-16 11:55:02 +02:00
Kconfig Kconfig: Add CONFIG_SGX support 2021-09-30 14:50:19 +02:00
kvmvapic.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
meson.build i386: Update SGX CPUID info according to hardware/KVM/user input 2021-09-30 14:50:20 +02:00
microvm.c microvm: Drop dead error handling in microvm_machine_state_init() 2021-08-26 17:15:28 +02:00
multiboot.c
multiboot.h
pc_piix.c hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
pc_q35.c hw/acpi: define PIIX4 acpi pci hotplug property strings at a single place 2021-09-04 09:07:45 -04:00
pc_sysfw_ovmf-stubs.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 2021-07-14 22:28:58 +02:00
pc_sysfw_ovmf.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 2021-07-14 22:28:58 +02:00
pc_sysfw.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 2021-07-14 22:28:58 +02:00
pc.c hw/i386/pc: Account for SGX EPC sections when calculating device memory 2021-09-30 15:30:24 +02:00
port92.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
sgx-epc.c vl: Add sgx compound properties to expose SGX EPC sections to guest 2021-09-30 14:50:20 +02:00
sgx-stub.c i386: Update SGX CPUID info according to hardware/KVM/user input 2021-09-30 14:50:20 +02:00
sgx.c i386: Update SGX CPUID info according to hardware/KVM/user input 2021-09-30 14:50:20 +02:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmmouse.c vmmouse: put it into the 'input' category 2021-02-20 12:36:19 +01:00
vmport.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
x86-iommu-stub.c
x86-iommu.c Do not include hw/boards.h if it's not really necessary 2021-05-02 17:24:51 +02:00
x86.c vl: Add sgx compound properties to expose SGX EPC sections to guest 2021-09-30 14:50:20 +02:00