Blue Swirl <blauwir...@gmail.com> writes: > Signed-off-by: Blue Swirl <blauwir...@gmail.com> > --- > hw/isa-bus.c | 12 ++++++++++++ > hw/isa.h | 1 + > 2 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/hw/isa-bus.c b/hw/isa-bus.c > index 0cb1afb..6f349a5 100644 > --- a/hw/isa-bus.c > +++ b/hw/isa-bus.c > @@ -146,6 +146,18 @@ ISADevice *isa_create(const char *name) > return DO_UPCAST(ISADevice, qdev, dev); > } > > +ISADevice *isa_try_create(const char *name) > +{ > + DeviceState *dev; > + > + if (!isabus) { > + hw_error("Tried to create isa device %s with no isa bus present.", > + name);
I don't like the use of hw_error() here either. > + } > + dev = qdev_try_create(&isabus->qbus, name); > + return DO_UPCAST(ISADevice, qdev, dev); > +} > + > ISADevice *isa_create_simple(const char *name) > { > ISADevice *dev; > diff --git a/hw/isa.h b/hw/isa.h > index 19aa94c..e26abfa 100644 > --- a/hw/isa.h > +++ b/hw/isa.h > @@ -32,6 +32,7 @@ void isa_init_ioport(ISADevice *dev, uint16_t ioport); > void isa_init_ioport_range(ISADevice *dev, uint16_t start, uint16_t length); > void isa_qdev_register(ISADeviceInfo *info); > ISADevice *isa_create(const char *name); > +ISADevice *isa_try_create(const char *name); > ISADevice *isa_create_simple(const char *name); > > extern target_phys_addr_t isa_mem_base;