]> git.proxmox.com Git - qemu.git/commitdiff
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
authorAnthony Liguori <aliguori@us.ibm.com>
Tue, 26 Mar 2013 21:16:43 +0000 (16:16 -0500)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 26 Mar 2013 21:16:43 +0000 (16:16 -0500)
virtio,pci,qom

Work by Alex to support VGA assignment,
pci and virtio fixes by Stefan, Jason and myself, and a
new qmp event for hotplug support by myself.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Tue 26 Mar 2013 02:02:24 PM CDT using RSA key ID D28D5469
# gpg: Can't check signature: public key not found

# By Alex Williamson (13) and others
# Via Michael S. Tsirkin
* mst/tags/for_anthony: (23 commits)
  pcie: Add endpoint capability initialization wrapper
  roms: switch oldnoconfig to olddefconfig
  pcie: Mangle types to match topology
  pci: Create and use API to determine root buses
  pci: Create pci_bus_is_express helper
  pci: Q35, Root Ports, and Switches create PCI Express buses
  pci: Allow PCI bus creation interfaces to specify the type of bus
  pci: Move PCI and PCIE type defines
  pci: Create and register a new PCI Express TypeInfo
  exec: assert that RAMBlock size is non-zero
  pci: refuse empty ROM files
  pci_bridge: Remove duplicate IRQ swizzle function
  pci_bridge: Use a default map_irq function
  pci: Fix INTx routing notifier recursion
  pci_bridge: drop formatting from source
  pci_bridge: factor out common code
  pci: Teach PCI Bridges about VGA routing
  pci: Add PCI VGA helpers
  virtio-pci: guest notifier mask without non-irqfd
  virtio-net: remove layout assumptions for mq ctrl
  ...

1  2 
hw/pci/pci.h
hw/qdev.c
hw/spapr_pci.c
hw/virtio-net.c
hw/virtio-pci.c
monitor.c
qapi-schema.json
qom/object.c

diff --cc hw/pci/pci.h
Simple merge
diff --cc hw/qdev.c
Simple merge
diff --cc hw/spapr_pci.c
index 42c8b61c745b9967c610c197f2347f92f89c807b,20b90155029220a21475e703b51e30e5f8be8ed1..3e0d8d12fbdcdc53ca57e062168da9865ddb9ced
@@@ -619,29 -621,10 +619,29 @@@ static int spapr_phb_init(SysBusDevice 
                                      &sphb->msiwindow);
      }
  
 -    bus = pci_register_bus(DEVICE(s), sphb->busname,
 +    /*
 +     * Selecting a busname is more complex than you'd think, due to
 +     * interacting constraints.  If the user has specified an id
 +     * explicitly for the phb , then we want to use the qdev default
 +     * of naming the bus based on the bridge device (so the user can
 +     * then assign devices to it in the way they expect).  For the
 +     * first / default PCI bus (index=0) we want to use just "pci"
 +     * because libvirt expects there to be a bus called, simply,
 +     * "pci".  Otherwise, we use the same name as in the device tree,
 +     * since it's unique by construction, and makes the guest visible
 +     * BUID clear.
 +     */
 +    if (s->qdev.id) {
 +        busname = NULL;
 +    } else if (sphb->index == 0) {
 +        busname = "pci";
 +    } else {
 +        busname = sphb->dtbusname;
 +    }
 +    bus = pci_register_bus(DEVICE(s), busname,
                             pci_spapr_set_irq, pci_spapr_map_irq, sphb,
                             &sphb->memspace, &sphb->iospace,
-                            PCI_DEVFN(0, 0), PCI_NUM_PINS);
+                            PCI_DEVFN(0, 0), PCI_NUM_PINS, TYPE_PCI_BUS);
      phb->bus = bus;
  
      sphb->dma_window_start = 0;
diff --cc hw/virtio-net.c
Simple merge
diff --cc hw/virtio-pci.c
Simple merge
diff --cc monitor.c
Simple merge
Simple merge
diff --cc qom/object.c
Simple merge