Revision 1e39101c hw/pci.c

b/hw/pci.c
263 263
}
264 264

  
265 265
void pci_bus_new_inplace(PCIBus *bus, DeviceState *parent,
266
                         const char *name, uint8_t devfn_min)
266
                         const char *name,
267
                         MemoryRegion *address_space,
268
                         uint8_t devfn_min)
267 269
{
268 270
    qbus_create_inplace(&bus->qbus, &pci_bus_info, parent, name);
269 271
    assert(PCI_FUNC(devfn_min) == 0);
270 272
    bus->devfn_min = devfn_min;
273
    bus->address_space = address_space;
271 274

  
272 275
    /* host bridge */
273 276
    QLIST_INIT(&bus->child);
......
276 279
    vmstate_register(NULL, -1, &vmstate_pcibus, bus);
277 280
}
278 281

  
279
PCIBus *pci_bus_new(DeviceState *parent, const char *name, uint8_t devfn_min)
282
PCIBus *pci_bus_new(DeviceState *parent, const char *name,
283
                    MemoryRegion *address_space, uint8_t devfn_min)
280 284
{
281 285
    PCIBus *bus;
282 286

  
283 287
    bus = qemu_mallocz(sizeof(*bus));
284 288
    bus->qbus.qdev_allocated = 1;
285
    pci_bus_new_inplace(bus, parent, name, devfn_min);
289
    pci_bus_new_inplace(bus, parent, name, address_space, devfn_min);
286 290
    return bus;
287 291
}
288 292

  
......
310 314

  
311 315
PCIBus *pci_register_bus(DeviceState *parent, const char *name,
312 316
                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
313
                         void *irq_opaque, uint8_t devfn_min, int nirq)
317
                         void *irq_opaque,
318
                         MemoryRegion *address_space,
319
                         uint8_t devfn_min, int nirq)
314 320
{
315 321
    PCIBus *bus;
316 322

  
317
    bus = pci_bus_new(parent, name, devfn_min);
323
    bus = pci_bus_new(parent, name, address_space, devfn_min);
318 324
    pci_bus_irqs(bus, set_irq, map_irq, irq_opaque, nirq);
319 325
    return bus;
320 326
}

Also available in: Unified diff