This patch series is v7 of the pcie switch emulators. Now the express part has been merged, so the aer part is left. This patch series is for the master branch because the current pci branch seems a bit behind.
. I didn't changed the way to pass argument by pcie_aer_inject_error qmp command. It is overkill to add qlist support for qmp only for this command. . the glue patch for pushing attention button is dropped for now, it will be addressed later as another step. . All forward declarations can't be eliminated because some functions calls each other. Changes v6 -> v7: - the glue patch for pushing attention button is dropped for now. This will be addressed later. - various clean up of aer helper functions. 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 (6): pcie_regs.h: more constants 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 | 2 +- hmp-commands.hx | 23 ++ hw/ioh3420.c | 51 +++- hw/pcie.h | 14 + hw/pcie_aer.c | 912 +++++++++++++++++++++++++++++++++++++++++++++++ hw/pcie_aer.h | 94 +++++ hw/pcie_regs.h | 2 + hw/xio3130_downstream.c | 13 +- hw/xio3130_upstream.c | 12 +- qemu-common.h | 3 + sysemu.h | 5 + 11 files changed, 1114 insertions(+), 17 deletions(-) create mode 100644 hw/pcie_aer.c create mode 100644 hw/pcie_aer.h