[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 02/23] qdev: Restrict direct bus addressing via i
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH v4 02/23] qdev: Restrict direct bus addressing via its name |
Date: |
Wed, 16 Jun 2010 00:38:26 +0200 |
From: Jan Kiszka <address@hidden>
We allow to address a bus only using its local name. This is ambiguous
but unfortunately so handy that people (specifically libvirt) will
likely complain if bus=pci.0 needs to be replaced with
bus=/i440FX-pcihost/pci.0 all over the place. So keep this for now but
drop at least support for starting a qtree walks with an abbreviated bus
name.
Signed-off-by: Jan Kiszka <address@hidden>
---
hw/qdev.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/hw/qdev.c b/hw/qdev.c
index 7c4f039..c272c51 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -564,25 +564,17 @@ static DeviceState *qbus_find_dev(BusState *bus, char
*elem)
static BusState *qbus_find(const char *path)
{
DeviceState *dev;
- BusState *bus;
+ BusState *bus = main_system_bus;
char elem[128];
- int pos, len;
+ int len, pos = 0;
- /* find start element */
- if (path[0] == '/') {
- bus = main_system_bus;
- pos = 0;
- } else {
- if (sscanf(path, "%127[^/]%n", elem, &len) != 1) {
- assert(!path[0]);
- elem[0] = len = 0;
- }
- bus = qbus_find_recursive(main_system_bus, elem, NULL);
+ /* search for bus name recursively if path is not absolute */
+ if (path[0] != '/') {
+ bus = qbus_find_recursive(bus, path, NULL);
if (!bus) {
- qerror_report(QERR_BUS_NOT_FOUND, elem);
- return NULL;
+ qerror_report(QERR_BUS_NOT_FOUND, path);
}
- pos = len;
+ return bus;
}
for (;;) {
--
1.6.0.2
- Re: [Qemu-devel] [PATCH v4 01/23] qdev: Rework qtree path abbreviations, (continued)
[Qemu-devel] [PATCH v4 06/23] qdev: Push QMP mode checks into qbus_list_bus/dev, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 05/23] qdev: Convert device and bus lists to QTAILQ, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 02/23] qdev: Restrict direct bus addressing via its name,
Jan Kiszka <=
[Qemu-devel] [PATCH v4 08/23] qdev: Introduce qdev_iterate_recursive, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 07/23] qdev: Allow device specification by qtree path for device_del, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 09/23] monitor: Fix leakage during completion processing, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 10/23] monitor: Fix command completion vs. boolean switches, Jan Kiszka, 2010/06/15
[Qemu-devel] [PATCH v4 13/23] monitor: Allow to specify HMP-specifc command arguments, Jan Kiszka, 2010/06/15