36efa250a4
Allow instantiating a virtio-iommu device by adding an ACPI Virtual I/O Translation table (VIOT), which describes the relation between the virtio-iommu and the endpoints it manages. Add a hotplug handler for virtio-iommu on x86 and set the necessary reserved region property. On x86, the [0xfee00000, 0xfeefffff] DMA region is reserved for MSIs. DMA transactions to this range either trigger IRQ remapping in the IOMMU or bypasses IOMMU translation. Although virtio-iommu does not support IRQ remapping it must be informed of the reserved region so that it can forward DMA transactions targeting this region. Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Message-Id: <20211026182024.2642038-5-jean-philippe@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
140 lines
2.3 KiB
Plaintext
140 lines
2.3 KiB
Plaintext
config X86_FW_OVMF
|
|
bool
|
|
|
|
config SEV
|
|
bool
|
|
select X86_FW_OVMF
|
|
depends on KVM
|
|
|
|
config SGX
|
|
bool
|
|
depends on KVM
|
|
|
|
config PC
|
|
bool
|
|
imply APPLESMC
|
|
imply HYPERV
|
|
imply ISA_IPMI_KCS
|
|
imply ISA_IPMI_BT
|
|
imply PCI_IPMI_KCS
|
|
imply PCI_IPMI_BT
|
|
imply IPMI_SSIF
|
|
imply ISA_DEBUG
|
|
imply PARALLEL
|
|
imply PCI_DEVICES
|
|
imply PVPANIC_ISA
|
|
imply QXL
|
|
imply SEV
|
|
imply SGX
|
|
imply SGA
|
|
imply TEST_DEVICES
|
|
imply TPM_CRB
|
|
imply TPM_TIS_ISA
|
|
imply VGA_PCI
|
|
imply VIRTIO_VGA
|
|
imply NVDIMM
|
|
select FDC_ISA
|
|
select I8259
|
|
select I8254
|
|
select PCKBD
|
|
select PCSPK
|
|
select I8257
|
|
select MC146818RTC
|
|
# For ACPI builder:
|
|
select SERIAL_ISA
|
|
select ACPI_PCI
|
|
select ACPI_VMGENID
|
|
select VIRTIO_PMEM_SUPPORTED
|
|
select VIRTIO_MEM_SUPPORTED
|
|
|
|
config PC_PCI
|
|
bool
|
|
select APIC
|
|
select IOAPIC
|
|
select APM
|
|
select PC
|
|
|
|
config PC_ACPI
|
|
bool
|
|
select ACPI_X86
|
|
select ACPI_CPU_HOTPLUG
|
|
select ACPI_MEMORY_HOTPLUG
|
|
select ACPI_VIOT
|
|
select SMBUS_EEPROM
|
|
select PFLASH_CFI01
|
|
depends on ACPI_SMBUS
|
|
|
|
config I440FX
|
|
bool
|
|
imply E1000_PCI
|
|
imply VMPORT
|
|
imply VMMOUSE
|
|
select PC_PCI
|
|
select PC_ACPI
|
|
select ACPI_SMBUS
|
|
select PCI_I440FX
|
|
select PIIX3
|
|
select IDE_PIIX
|
|
select DIMM
|
|
select SMBIOS
|
|
select FW_CFG_DMA
|
|
|
|
config ISAPC
|
|
bool
|
|
select ISA_BUS
|
|
select PC
|
|
select IDE_ISA
|
|
select VGA_ISA
|
|
# FIXME: it is in the same file as i440fx, and does not compile
|
|
# if separated
|
|
depends on I440FX
|
|
|
|
config Q35
|
|
bool
|
|
imply VTD
|
|
imply AMD_IOMMU
|
|
imply E1000E_PCI_EXPRESS
|
|
imply VMPORT
|
|
imply VMMOUSE
|
|
select PC_PCI
|
|
select PC_ACPI
|
|
select PCI_EXPRESS_Q35
|
|
select LPC_ICH9
|
|
select AHCI_ICH9
|
|
select DIMM
|
|
select SMBIOS
|
|
select FW_CFG_DMA
|
|
|
|
config MICROVM
|
|
bool
|
|
select SERIAL_ISA # for serial_hds_isa_init()
|
|
select ISA_BUS
|
|
select APIC
|
|
select IOAPIC
|
|
select I8259
|
|
select MC146818RTC
|
|
select VIRTIO_MMIO
|
|
select ACPI_HW_REDUCED
|
|
select PCI_EXPRESS_GENERIC_BRIDGE
|
|
select USB_XHCI_SYSBUS
|
|
select I8254
|
|
|
|
config X86_IOMMU
|
|
bool
|
|
depends on PC
|
|
|
|
config VTD
|
|
bool
|
|
select X86_IOMMU
|
|
|
|
config AMD_IOMMU
|
|
bool
|
|
select X86_IOMMU
|
|
|
|
config VMPORT
|
|
bool
|
|
|
|
config VMMOUSE
|
|
bool
|
|
depends on VMPORT
|