Hi, This series is to emulate legacy and extended capability list for dom0, including patch #1, #2, #3. hide legacy and extended capability when its initialization fails, including patch #4, #5, #6. remove all related registers and other resources when initializing capability fails, including patch #7, #8, #9, #10.
Best regards, Jiqian Chen. --- cc: Andrew Cooper <andrew.coop...@citrix.com> cc: Anthony PERARD <anthony.per...@vates.tech> cc: Michal Orzel <michal.or...@amd.com> cc: Jan Beulich <jbeul...@suse.com> cc: Julien Grall <jul...@xen.org> cc: "Roger Pau Monné" <roger....@citrix.com> cc: Stefano Stabellini <sstabell...@kernel.org> --- Jiqian Chen (10): vpci/header: Move emulating cap list logic into new function vpci/header: Emulate legacy capability list for dom0 vpci/header: Emulate extended capability list for dom0 vpci: Refactor REGISTER_VPCI_INIT vpci: Hide legacy capability when it fails to initialize vpci: Hide extended capability when it fails to initialize vpci: Refactor vpci_remove_register to remove matched registers vpci/rebar: Remove registers when init_rebar() fails vpci/msi: Free MSI resources when init_msi() fails vpci/msix: Add function to clean MSIX resources tools/tests/vpci/main.c | 4 +- xen/drivers/vpci/header.c | 187 +++++++++++++-------- xen/drivers/vpci/msi.c | 22 ++- xen/drivers/vpci/msix.c | 29 +++- xen/drivers/vpci/rebar.c | 35 ++-- xen/drivers/vpci/vpci.c | 325 ++++++++++++++++++++++++++++++++----- xen/include/xen/pci_regs.h | 5 +- xen/include/xen/vpci.h | 38 +++-- xen/include/xen/xen.lds.h | 2 +- 9 files changed, 505 insertions(+), 142 deletions(-) -- 2.34.1