328a11a08a
This commit adds XTSup configuration to let user choose to whether enable this feature or not. When XTSup is enabled, additional bytes in IRTE with enabled guest virtual VAPIC are used to support 32-bit destination id. Additionally, this commit exports IVHD type 0x11 besides the old IVHD type 0x10 in ACPI table. IVHD type 0x10 does not report full set of IOMMU features only the legacy ones, so operating system (e.g. Linux) may only detects x2APIC support if IVHD type 0x11 is available. The IVHD type 0x10 is kept so that old operating system that only parses type 0x10 can detect the IOMMU device. Besides, an amd_iommu-stub.c file is created to provide the definition for amdvi_extended_feature_register when CONFIG_AMD_IOMMU=n. This function is used by acpi-build.c to get the extended feature register value for building the ACPI table. When CONFIG_AMD_IOMMU=y, this function is defined in amd_iommu.c. Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com> Message-Id: <20240111154404.5333-7-minhquangbui99@gmail.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
38 lines
1.4 KiB
Meson
38 lines
1.4 KiB
Meson
i386_ss = ss.source_set()
|
|
i386_ss.add(files(
|
|
'fw_cfg.c',
|
|
'kvmvapic.c',
|
|
'e820_memory_layout.c',
|
|
'multiboot.c',
|
|
'x86.c',
|
|
))
|
|
|
|
i386_ss.add(when: 'CONFIG_X86_IOMMU', if_true: files('x86-iommu.c'),
|
|
if_false: files('x86-iommu-stub.c'))
|
|
i386_ss.add(when: 'CONFIG_AMD_IOMMU', if_true: files('amd_iommu.c'),
|
|
if_false: files('amd_iommu-stub.c'))
|
|
i386_ss.add(when: 'CONFIG_I440FX', if_true: files('pc_piix.c'))
|
|
i386_ss.add(when: 'CONFIG_MICROVM', if_true: files('microvm.c', 'acpi-microvm.c', 'microvm-dt.c'))
|
|
i386_ss.add(when: 'CONFIG_Q35', if_true: files('pc_q35.c'))
|
|
i386_ss.add(when: 'CONFIG_VMMOUSE', if_true: files('vmmouse.c'))
|
|
i386_ss.add(when: 'CONFIG_VMPORT', if_true: files('vmport.c'))
|
|
i386_ss.add(when: 'CONFIG_VTD', if_true: files('intel_iommu.c'))
|
|
i386_ss.add(when: 'CONFIG_SGX', if_true: files('sgx-epc.c','sgx.c'),
|
|
if_false: files('sgx-stub.c'))
|
|
|
|
i386_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-common.c'))
|
|
i386_ss.add(when: 'CONFIG_PC', if_true: files(
|
|
'pc.c',
|
|
'pc_sysfw.c',
|
|
'acpi-build.c',
|
|
'port92.c'))
|
|
i386_ss.add(when: 'CONFIG_X86_FW_OVMF', if_true: files('pc_sysfw_ovmf.c'),
|
|
if_false: files('pc_sysfw_ovmf-stubs.c'))
|
|
|
|
subdir('kvm')
|
|
subdir('xen')
|
|
|
|
i386_ss.add_all(xenpv_ss)
|
|
|
|
hw_arch += {'i386': i386_ss}
|