Besides some smaller cleanups, this series has two main topics: The first is the already posted PCI IRQ routing lookup and notifier. The lookup has been based on the cached routing Michael suggested also for emulated devices. However, this still introduces a new callback and keeps the bus irq_count untouched due to the vmstate complications when changing it.
The second half refactors PCI device address parsing, introducing an universal parsing function. It is then used to provide a new qdev property that accepts fully qualified PCI addresses (domain:bus:device. function). These two major changes will help refactoring PCI device assignment in qemu-kvm in order to upstream it soon. But also the upcoming VFIO-based assignment should be able to benefit. Jan Kiszka (13): pci: Refactor pci_change_irq_level pci: Fold pci_bus_new_inplace into pci_bus_new pci: Introduce cached device INTx routing pci: Rename map_irq to route_pin pci: Add pci_device_route_intx_to_irq pci: Add INTx routing notifier pci: Make domain and bus unsigned in pci_read_devaddr pci: Export pci_parse_devaddr instead of pci_read_devaddr pci: Introduce and apply PCIDeviceAddress pci: Fix coding style of pci_parse_devaddr Move pci_parse_devaddr to qdev-properties qdev-properties: Use qemu_parse_pci_devaddr for pci-devfn property qdev-properties: Add pci-devaddr property hw/alpha_sys.h | 2 +- hw/alpha_typhoon.c | 4 +- hw/apb_pci.c | 6 +- hw/bonito.c | 2 +- hw/dec_pci.c | 2 +- hw/grackle_pci.c | 1 + hw/gt64xxx.c | 1 + hw/ioh3420.c | 5 +- hw/ioh3420.h | 3 +- hw/pci-hotplug.c | 33 +++++-- hw/pci.c | 212 ++++++++++++++++++++++------------------------- hw/pci.h | 40 +++++++--- hw/pci_bridge.c | 18 +++- hw/pci_bridge.h | 4 +- hw/pci_bridge_dev.c | 7 +- hw/pci_internals.h | 5 +- hw/piix_pci.c | 25 +++++- hw/ppc4xx_pci.c | 2 +- hw/ppce500_pci.c | 2 +- hw/prep_pci.c | 2 +- hw/qdev-properties.c | 142 ++++++++++++++++++++++++++++---- hw/qdev.h | 10 ++ hw/sh_pci.c | 2 +- hw/spapr_pci.c | 2 +- hw/unin_pci.c | 4 +- hw/versatile_pci.c | 2 +- hw/xio3130_downstream.c | 5 +- hw/xio3130_downstream.h | 3 +- hw/xio3130_upstream.c | 5 +- hw/xio3130_upstream.h | 3 +- qemu-common.h | 7 ++ 31 files changed, 371 insertions(+), 190 deletions(-) -- 1.7.3.4