[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [RFC v8 18/18] hw/arm/virt: Allow virtio-iommu instantiation
From: |
Eric Auger |
Subject: |
[Qemu-arm] [RFC v8 18/18] hw/arm/virt: Allow virtio-iommu instantiation |
Date: |
Fri, 9 Nov 2018 12:29:57 +0100 |
The virtio-iommu now can be instantiated by adding the virt
machine option "-M virt,iommu=virtio"
Signed-off-by: Eric Auger <address@hidden>
---
hw/arm/virt.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f2994c4359..d2080a1ba9 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1710,6 +1710,8 @@ static char *virt_get_iommu(Object *obj, Error **errp)
return g_strdup("none");
case VIRT_IOMMU_SMMUV3:
return g_strdup("smmuv3");
+ case VIRT_IOMMU_VIRTIO:
+ return g_strdup("virtio");
default:
g_assert_not_reached();
}
@@ -1721,11 +1723,13 @@ static void virt_set_iommu(Object *obj, const char
*value, Error **errp)
if (!strcmp(value, "smmuv3")) {
vms->iommu = VIRT_IOMMU_SMMUV3;
+ } else if (!strcmp(value, "virtio")) {
+ vms->iommu = VIRT_IOMMU_VIRTIO;
} else if (!strcmp(value, "none")) {
vms->iommu = VIRT_IOMMU_NONE;
} else {
error_setg(errp, "Invalid iommu value");
- error_append_hint(errp, "Valid values are none, smmuv3.\n");
+ error_append_hint(errp, "Valid values are none, smmuv3, virtio.\n");
}
}
@@ -1901,7 +1905,7 @@ static void virt_3_1_instance_init(Object *obj)
object_property_add_str(obj, "iommu", virt_get_iommu, virt_set_iommu,
NULL);
object_property_set_description(obj, "iommu",
"Set the IOMMU type. "
- "Valid values are none and smmuv3",
+ "Valid values are none, smmuv3, virtio",
NULL);
vms->memmap = a15memmap;
--
2.17.2