Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: "Andreas Färber" <afaer...@suse.de> Cc: Anthony Liguori <aligu...@us.ibm.com> Cc: Igor Mammedov <imamm...@redhat.com> Signed-off-by: Hu Tao <hu...@cn.fujitsu.com> --- hw/intc/ioapic_common.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/hw/intc/ioapic_common.c b/hw/intc/ioapic_common.c index 5c5bb3c..6077024 100644 --- a/hw/intc/ioapic_common.c +++ b/hw/intc/ioapic_common.c @@ -57,14 +57,15 @@ static int ioapic_dispatch_post_load(void *opaque, int version_id) return 0; } -static int ioapic_init_common(SysBusDevice *dev) +static void ioapic_common_realize(DeviceState *dev, Error **errp) { IOAPICCommonState *s = IOAPIC_COMMON(dev); IOAPICCommonClass *info; static int ioapic_no; if (ioapic_no >= MAX_IOAPICS) { - return -1; + error_setg (errp, "invalid ioapic number: %d", ioapic_no); + return; } info = IOAPIC_COMMON_GET_CLASS(s); @@ -72,8 +73,6 @@ static int ioapic_init_common(SysBusDevice *dev) sysbus_init_mmio(&s->busdev, &s->io_memory); ioapic_no++; - - return 0; } static const VMStateDescription vmstate_ioapic_common = { @@ -95,10 +94,9 @@ static const VMStateDescription vmstate_ioapic_common = { static void ioapic_common_class_init(ObjectClass *klass, void *data) { - SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass); - sc->init = ioapic_init_common; + dc->realize = ioapic_common_realize; dc->vmsd = &vmstate_ioapic_common; dc->no_user = 1; } -- 1.8.3.1