On Wed, 28 Nov 2012 10:54:33 +0200 Alon Levy <al...@redhat.com> wrote:
> Instead of aborting immediately after at DEVICE_CLASS(obj) > > Signed-off-by: Alon Levy <al...@redhat.com> > --- > hw/qdev-monitor.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c > index 479eecd..3b70cdb 100644 > --- a/hw/qdev-monitor.c > +++ b/hw/qdev-monitor.c > @@ -426,6 +426,11 @@ DeviceState *qdev_device_add(QemuOpts *opts) > return NULL; > } > > + if (!object_class_dynamic_cast(obj, "device")) { > + qerror_report(QERR_INVALID_PARAMETER_TYPE, "driver", "device type"); > + return NULL; > + } Gives me the impression that something is wrong before this, but it's better to ask a QOM guy (CC'ing them). How do you reproduce it btw? > + > k = DEVICE_CLASS(obj); > > /* find bus */