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