hw/acpi: Add VIOT table
commit1f85d74ac542d57559babbe0525633837e9fd52f
authorJean-Philippe Brucker <jean-philippe@linaro.org>
Tue, 26 Oct 2021 18:20:20 +0000 (26 19:20 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 1 Nov 2021 22:49:10 +0000 (1 18:49 -0400)
treef88acfa66703dd64c243f5a5db8cc9cb64dc7710
parente1c1915befbd2a991b20812eef6ad650b5637a36
hw/acpi: Add VIOT table

Add a function that generates a Virtual I/O Translation table (VIOT),
describing the topology of paravirtual IOMMUs. The table is created if a
virtio-iommu device is present. It contains a virtio-iommu node and PCI
Range nodes for endpoints managed by the IOMMU. By default, a single
node describes all PCI devices. When passing the
"default_bus_bypass_iommu" machine option and "bypass_iommu" PXB option,
only buses that do not bypass the IOMMU are described by PCI Range
nodes.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20211026182024.2642038-2-jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/acpi/Kconfig
hw/acpi/meson.build
hw/acpi/viot.c [new file with mode: 0644]
hw/acpi/viot.h [new file with mode: 0644]