This patch series is v6 of the pcie switch emulators. Now the aer dependency has removed, so the patch 1-7 can be merged. And I cleaned up pcie_aer_write_config() in the aer patch.
new patches: 1 essentially updated patches: 2, 8 changes v5 -> v6: - dropped already merged patches. - add comment on hpev_intx - updated the bridge fix patch - update the aer patch. - reordered the patch series to remove the aer dependency. change v4 -> v5: - introduced pci_xxx_test_and_clear/set_mask - eliminated xxx_notify(msi_trigger, int_level) - eliminated FLR bits. FLR will be addressed at the next phase. changes v3 -> v4: - introduced new pci config helper functions.(clear set bit) - various clean up and some bug fixes. - dropped pci_shift_xxx(). - dropped function pointerin pcie_aer.h - dropped pci_exp_cap(), pcie_aer_cap(). - file rename (pcie_{root, upstream, downsatrem} => ioh33420, x3130). changes v2 -> v3: - msi: improved commant and simplified shift/ffs dance - pci w1c config register framework - split pcie.[ch] into pcie_regs.h, pcie.[ch] and pcie_aer.[ch] - pcie, aer: many changes by following reviews. changes v1 -> v2: - update msi - dropped already pushed out patches. - added msix patches. Isaku Yamahata (12): pcie: comment on hpev_intx pci/bridge: fix pci_bridge_reset() pcie port: define struct PCIEPort/PCIESlot and helper functions ioh3420: pcie root port in X58 ioh x3130: pcie upstream port x3130: pcie downstream port pcie/hotplug: introduce pushing attention button command pcie/aer: helper functions for pcie aer capability pcie/aer: glue aer error injection into qemu monitor ioh3420: support aer x3130/upstream: support aer x3130/downstream: support aer. Makefile.objs | 3 +- hw/ioh3420.c | 228 +++++++++++++ hw/ioh3420.h | 10 + hw/pci_bridge.c | 48 +++- hw/pci_bridge.h | 1 + hw/pcie.h | 24 ++- hw/pcie_aer.c | 864 +++++++++++++++++++++++++++++++++++++++++++++++ hw/pcie_aer.h | 105 ++++++ hw/pcie_port.c | 198 +++++++++++ hw/pcie_port.h | 51 +++ hw/xio3130_downstream.c | 195 +++++++++++ hw/xio3130_downstream.h | 11 + hw/xio3130_upstream.c | 179 ++++++++++ hw/xio3130_upstream.h | 10 + qemu-common.h | 5 + qemu-monitor.hx | 36 ++ sysemu.h | 9 + 17 files changed, 1969 insertions(+), 8 deletions(-) create mode 100644 hw/ioh3420.c create mode 100644 hw/ioh3420.h create mode 100644 hw/pcie_aer.c create mode 100644 hw/pcie_aer.h create mode 100644 hw/pcie_port.c create mode 100644 hw/pcie_port.h create mode 100644 hw/xio3130_downstream.c create mode 100644 hw/xio3130_downstream.h create mode 100644 hw/xio3130_upstream.c create mode 100644 hw/xio3130_upstream.h