@@ -56,10 +56,10 @@ typedef struct PIIX4State {
#define PIIX4_PCI_DEVICE(obj) \
OBJECT_CHECK(PIIX4State, (obj), TYPE_PIIX4_PCI_DEVICE)
-static void piix4_reset(void *opaque)
+static void piix4_reset(DeviceState *dev)
{
- PIIX4State *d = opaque;
- uint8_t *pci_conf = d->dev.config;
+ PIIX4State *s = PIIX4_PCI_DEVICE(dev);
+ uint8_t *pci_conf = s->dev.config;
pci_conf[0x04] = 0x07; // master, memory and I/O
pci_conf[0x05] = 0x00;
@@ -234,7 +234,6 @@ static void piix4_realize(PCIDevice *pci_dev, Error **errp)
isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ);
piix4_dev = pci_dev;
- qemu_register_reset(piix4_reset, s);
}
static void piix4_init(Object *obj)
@@ -268,6 +267,7 @@ static void piix4_class_init(ObjectClass *klass, void *data)
k->vendor_id = PCI_VENDOR_ID_INTEL;
k->device_id = PCI_DEVICE_ID_INTEL_82371AB_0;
k->class_id = PCI_CLASS_BRIDGE_ISA;
+ dc->reset = piix4_reset;
dc->desc = "ISA bridge";
dc->vmsd = &vmstate_piix4;
/*