Revision 25f8e2f5

b/hw/ide/piix.c
131 131
    }
132 132
}
133 133

  
134
static int pci_piix_ide_initfn(PCIIDEState *d)
134
static int pci_piix_ide_initfn(PCIDevice *dev)
135 135
{
136
    PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev);
136 137
    uint8_t *pci_conf = d->dev.config;
137 138

  
138 139
    pci_conf[PCI_CLASS_PROG] = 0x80; // legacy ATA mode
139
    pci_config_set_class(pci_conf, PCI_CLASS_STORAGE_IDE);
140 140

  
141 141
    qemu_register_reset(piix3_reset, d);
142 142

  
......
149 149
    return 0;
150 150
}
151 151

  
152
static int pci_piix3_ide_initfn(PCIDevice *dev)
153
{
154
    PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev);
155

  
156
    pci_config_set_vendor_id(d->dev.config, PCI_VENDOR_ID_INTEL);
157
    pci_config_set_device_id(d->dev.config, PCI_DEVICE_ID_INTEL_82371SB_1);
158
    return pci_piix_ide_initfn(d);
159
}
160

  
161
static int pci_piix4_ide_initfn(PCIDevice *dev)
162
{
163
    PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev);
164

  
165
    pci_config_set_vendor_id(d->dev.config, PCI_VENDOR_ID_INTEL);
166
    pci_config_set_device_id(d->dev.config, PCI_DEVICE_ID_INTEL_82371AB);
167
    return pci_piix_ide_initfn(d);
168
}
169

  
170 152
/* hd_table must contain 4 block drivers */
171 153
/* NOTE: for the PIIX3, the IRQs and IOports are hardcoded */
172 154
PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
......
195 177
        .qdev.size    = sizeof(PCIIDEState),
196 178
        .qdev.no_user = 1,
197 179
        .no_hotplug   = 1,
198
        .init         = pci_piix3_ide_initfn,
180
        .init         = pci_piix_ide_initfn,
181
        .vendor_id    = PCI_VENDOR_ID_INTEL,
182
        .device_id    = PCI_DEVICE_ID_INTEL_82371SB_1,
183
        .class_id     = PCI_CLASS_STORAGE_IDE,
199 184
    },{
200 185
        .qdev.name    = "piix4-ide",
201 186
        .qdev.size    = sizeof(PCIIDEState),
202 187
        .qdev.no_user = 1,
203 188
        .no_hotplug   = 1,
204
        .init         = pci_piix4_ide_initfn,
189
        .init         = pci_piix_ide_initfn,
190
        .vendor_id    = PCI_VENDOR_ID_INTEL,
191
        .device_id    = PCI_DEVICE_ID_INTEL_82371AB,
192
        .class_id     = PCI_CLASS_STORAGE_IDE,
205 193
    },{
206 194
        /* end of list */
207 195
    }

Also available in: Unified diff