Commit 81ed6482 authored by Marcel Apfelbaum's avatar Marcel Apfelbaum Committed by Michael S. Tsirkin
Browse files

hw/i386: extend pxb query for all PC machines



Add bus property to PC machines and use it when looking
for primary PCI root bus (bus 0).

Signed-off-by: default avatarMarcel Apfelbaum <marcel@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Acked-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 02b07434
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -950,8 +950,7 @@ build_ssdt(GArray *table_data, GArray *linker,
    /* Reserve space for header */
    acpi_data_push(ssdt->buf, sizeof(AcpiTableHeader));

    /* Extra PCI root buses are implemented  only for i440fx */
    bus = find_i440fx();
    bus = PC_MACHINE(machine)->bus;
    if (bus) {
        QLIST_FOREACH(bus, &bus->child, sibling) {
            uint8_t bus_num = pci_bus_num(bus);
+1 −1
Original line number Diff line number Diff line
@@ -1167,7 +1167,7 @@ void pc_guest_info_machine_done(Notifier *notifier, void *data)
    PcGuestInfoState *guest_info_state = container_of(notifier,
                                                      PcGuestInfoState,
                                                      machine_done);
    PCIBus *bus = find_i440fx();
    PCIBus *bus = PC_MACHINE(qdev_get_machine())->bus;

    if (bus) {
        int extra_hosts = 0;
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ static void pc_init1(MachineState *machine,
                              pcms->below_4g_mem_size,
                              pcms->above_4g_mem_size,
                              pci_memory, ram_memory);
        pcms->bus = pci_bus;
    } else {
        pci_bus = NULL;
        i440fx_state = NULL;
+1 −0
Original line number Diff line number Diff line
@@ -181,6 +181,7 @@ static void pc_q35_init(MachineState *machine)
    qdev_init_nofail(DEVICE(q35_host));
    phb = PCI_HOST_BRIDGE(q35_host);
    host_bus = phb->bus;
    pcms->bus = phb->bus;
    /* create ISA bus */
    lpc = pci_create_simple_multifunction(host_bus, PCI_DEVFN(ICH9_LPC_DEV,
                                          ICH9_LPC_FUNC), true,
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ struct PCMachineState {
    OnOffAuto vmport;
    OnOffAuto smm;
    ram_addr_t below_4g_mem_size, above_4g_mem_size;
    PCIBus *bus;
};

#define PC_MACHINE_ACPI_DEVICE_PROP "acpi-device"