arch/aarch64: Add virtio-iommu device in FDT

Add a virtio-iommu node into FDT if iommu option is turned on. Now we
support only one virtio-iommu device.

Signed-off-by: Michael Zhao <michael.zhao@arm.com>
This commit is contained in:
Michael Zhao
2021-08-12 21:37:44 +08:00
committed by Sebastien Boeuf
parent 46f6d9597d
commit 253c06d3ba
3 changed files with 58 additions and 2 deletions

View File

@@ -1077,6 +1077,14 @@ impl Vm {
let pci_space = (pci_space_start.0, pci_space_size);
let virtio_iommu_bdf = self
.device_manager
.lock()
.unwrap()
.iommu_attached_devices()
.as_ref()
.map(|(v, _)| *v);
#[cfg(feature = "acpi")]
{
let _ = crate::acpi::create_acpi_tables(
@@ -1104,6 +1112,7 @@ impl Vm {
device_info,
&initramfs_config,
&pci_space,
virtio_iommu_bdf,
&*gic_device,
&self.numa_nodes,
)
@@ -2584,6 +2593,7 @@ mod tests {
&None,
&(0x1_0000_0000, 0x1_0000),
&BTreeMap::new(),
None,
)
.is_ok())
}