[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [RFC v7 13/16] qdev: export qbus_find_recursive
From: |
Eric Auger |
Subject: |
[Qemu-arm] [RFC v7 13/16] qdev: export qbus_find_recursive |
Date: |
Mon, 6 Aug 2018 22:14:41 +0200 |
We intend to create the virtio-iommu from the virt machine
realize() code and not by passing the -device virtio-iommu-device
option. That way the instantiation of the virtio-iommu can
depend on a virt machine option, as it is currently done for
the smmuv3 iommu.
Its parent bus, the virtio-bus will need to be located and
set. We intend to locate it by using qbus_find_recursive().
Signed-off-by: Eric Auger <address@hidden>
---
include/hw/qdev-core.h | 3 +++
qdev-monitor.c | 5 ++---
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index f1fd0f8..f359c52 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -377,6 +377,9 @@ void qbus_reset_all_fn(void *opaque);
/* This should go away once we get rid of the NULL bus hack */
BusState *sysbus_get_default(void);
+BusState *qbus_find_recursive(BusState *bus, const char *name,
+ const char *bus_typename);
+
char *qdev_get_fw_dev_path(DeviceState *dev);
char *qdev_get_own_fw_dev_path_from_handler(BusState *bus, DeviceState *dev);
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 61e0300..666e439 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -410,8 +410,8 @@ static inline bool qbus_is_full(BusState *bus)
* If more than one exists, prefer one that can take another device.
* Return the bus if found, else %NULL.
*/
-static BusState *qbus_find_recursive(BusState *bus, const char *name,
- const char *bus_typename)
+BusState *qbus_find_recursive(BusState *bus, const char *name,
+ const char *bus_typename)
{
BusChild *kid;
BusState *pick, *child, *ret;
@@ -567,7 +567,6 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
error_setg(errp, QERR_MISSING_PARAMETER, "driver");
return NULL;
}
-
/* find driver */
dc = qdev_get_device_class(&driver, errp);
if (!dc) {
--
2.5.5
- [Qemu-arm] [RFC v7 02/16] virtio-iommu: Add skeleton, (continued)
- [Qemu-arm] [RFC v7 02/16] virtio-iommu: Add skeleton, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 03/16] virtio-iommu: Decode the command payload, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 04/16] virtio-iommu: Add the iommu regions, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 06/16] virtio-iommu: Implement attach/detach command, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 05/16] virtio-iommu: Endpoint and domains structs and helpers, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 07/16] virtio-iommu: Implement map/unmap, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 08/16] virtio-iommu: Implement translate, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 10/16] virtio-iommu: Add an msi_bypass property, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 09/16] virtio-iommu: Implement probe request, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 11/16] virtio-iommu: Implement fault reporting, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 13/16] qdev: export qbus_find_recursive,
Eric Auger <=
- [Qemu-arm] [RFC v7 12/16] virtio_iommu: Handle reserved regions in translation process, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 14/16] hw/arm/virt: Add virtio-iommu to the virt board, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 15/16] hw/arm/virt-acpi-build: Add virtio-iommu node in IORT table, Eric Auger, 2018/08/06
- [Qemu-arm] [RFC v7 16/16] hw/arm/virt: Allow virtio-iommu instantiation, Eric Auger, 2018/08/06