Add a topology description to the virtio-iommu config space, allowing to create a virtio-iommu device on platforms without device-tree. Our long-term plan is to add an ACPI table that describes this topology, but it will take a while to ratify. This built-in topology is needed anyway for platforms that don't use either DT or ACPI (e.g. microvm) and can be used as a temporary boot method for ACPI platforms as well.
Patch 1 looks unrelated, but is required to boot with a firmware on x86. As previously discussed on this list: https://lore.kernel.org/qemu-devel/aa5fa9e6-6efd-e1a3-96c6-d02ba8eab...@redhat.com/ This work depends on the proposed spec change for virtio-iommu (v2): https://lists.oasis-open.org/archives/virtio-dev/202008/msg00067.html And the Linux implementation (v3): https://lore.kernel.org/linux-iommu/20200821131540.2801801-1-jean-phili...@linaro.org/ Eric Auger (1): hw/i386/pc: Add support for virtio-iommu-pci Jean-Philippe Brucker (4): virtio-iommu: Default to bypass during boot linux headers: Import virtio-iommu header from Linux virtio-iommu: Declare topology in config space hw/arm/virt: Remove device-tree restriction on virtio-iommu include/hw/virtio/virtio-iommu.h | 4 ++ include/standard-headers/linux/virtio_iommu.h | 44 +++++++++++++ hw/arm/virt.c | 10 +-- hw/i386/pc.c | 9 ++- hw/virtio/virtio-iommu-pci.c | 2 - hw/virtio/virtio-iommu.c | 62 ++++++++++++++++--- hw/virtio/trace-events | 4 +- 7 files changed, 115 insertions(+), 20 deletions(-) -- 2.28.0