diff options
author | Markus Armbruster <armbru@redhat.com> | 2010-02-19 19:08:45 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2010-03-16 16:58:32 +0100 |
commit | 327867b62a121a93ab1e8e9278eba2cd44eee650 (patch) | |
tree | c46385cc743836e94501673bcc8d41c67c5c012b /hw/qdev.c | |
parent | 0f0bc3f1d526924ef4a75ad25dd0ec3771a66496 (diff) | |
download | qemu-327867b62a121a93ab1e8e9278eba2cd44eee650.zip qemu-327867b62a121a93ab1e8e9278eba2cd44eee650.tar.gz qemu-327867b62a121a93ab1e8e9278eba2cd44eee650.tar.bz2 |
qdev: Fix -device and device_add to handle unsuitable bus gracefully
"device_add isa-serial,bus=pci.0" kills QEMU. Not good.
Diffstat (limited to 'hw/qdev.c')
-rw-r--r-- | hw/qdev.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -204,6 +204,11 @@ DeviceState *qdev_device_add(QemuOpts *opts) path = qemu_opt_get(opts, "bus"); if (path != NULL) { bus = qbus_find(path); + if (bus && bus->info != info->bus_info) { + error_report("Device '%s' can't go on a %s bus", + driver, bus->info->name); + return NULL; + } } else { bus = qbus_find_recursive(main_system_bus, NULL, info->bus_info); } |