v5->v6: * Annotate library functions with EFIAPI, IN/OUT, @param[in]/[out]. * Split BusMin/BusMax addtion in PciHostBridgeUtilityGetRootBridges() into a separate patch [09/11]. * Add more detailed commit message for patch [10/11].
v4->v5: * Revert some risky renames. * Explicitly list PcdLib dependency. * Fix issues reported by PatchCheck.py. v3->v4: * Refactor InitRootBridges/UninitRootBridges/GetRootBridges/FreeRootBridges. * Fix library dependencies. v2->v3: * Rename utility functions under the PciHostBridgeUtilityLib namespace. * Remove some unused Library dependencies. * Sort the Include headers. v1->v2: * Separated into four patches. * Factor the same logic parts into a new library. v4: https://edk2.groups.io/g/devel/message/70147 BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3059 QEMU: https://lore.kernel.org/qemu-devel/20201119014841.7298-1-cenjia...@huawei.com/ This patch series adds support for extra pci roots for ARM. In order to avoid duplicated codes, we introduce a new library PciHostBridgeUtilityLib which extracts common interfaces from OvmfPkg/PciHostBridgeLib. It provides conflicts informing and extra pci roots scanning. Using the utility lib, the uefi could scan for extra root buses and recognize multiple roots for ARM. Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Ard Biesheuvel <ard.biesheu...@arm.com> Cc: Rebecca Cran <rebe...@bsdio.com> Cc: Peter Grehan <gre...@freebsd.org> Cc: Anthony Perard <anthony.per...@citrix.com> Cc: Julien Grall <jul...@xen.org> Cc: Leif Lindholm <l...@nuviainc.com> Cc: Sami Mujawar <sami.muja...@arm.com> Signed-off-by: Jiahui Cen <cenjia...@huawei.com> Signed-off-by: Yubo Miao <miaoy...@huawei.com> Jiahui Cen (11): OvmfPkg: Introduce PciHostBridgeUtilityLib class ArmVirtPkg: Refactor with PciHostBridgeUtilityLib OvmfPkg/PciHostBridgeLib: List missing PcdLib dependency OvmfPkg/PciHostBridgeLib: Extract InitRootBridge() / UninitRootBridge() OvmfPkg/PciHostBridgeUtilityLib: Extend parameters of InitRootBridge() ArmVirtPkg/FdtPciHostBridgeLib: Refactor init/uninit of root bridge OvmfPkg/PciHostBridgeLib: Extract GetRootBridges() / FreeRootBridges() OvmfPkg/PciHostBridgeUtilityLib: Extend parameter list of GetRootBridges OvmfPkg/PciHostBridgeUtilityLib: Extend GetRootBridges() with BusMin/BusMax ArmVirtPkg/FdtPciHostBridgeLib: Add extra pci root buses support ArmVirtPkg/ArmVirtQemu: Add support for HotPlug OvmfPkg/OvmfPkg.dec | 4 + ArmVirtPkg/ArmVirtKvmTool.dsc | 1 + ArmVirtPkg/ArmVirtQemu.dsc | 2 + ArmVirtPkg/ArmVirtQemuKernel.dsc | 2 + OvmfPkg/AmdSev/AmdSevX64.dsc | 1 + OvmfPkg/Bhyve/BhyveX64.dsc | 1 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/OvmfXen.dsc | 1 + ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf | 3 + OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 4 +- OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf | 43 +++ OvmfPkg/Include/Library/PciHostBridgeUtilityLib.h | 185 +++++++++++ OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h | 56 ---- ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c | 164 ++++------ OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 324 +------------------- OvmfPkg/Library/PciHostBridgeLib/XenSupport.c | 5 +- OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.c => PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.c} | 281 +++++++++-------- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 + 20 files changed, 467 insertions(+), 614 deletions(-) create mode 100644 OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf create mode 100644 OvmfPkg/Include/Library/PciHostBridgeUtilityLib.h copy OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.c => PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.c} (50%) -- 2.29.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#70515): https://edk2.groups.io/g/devel/message/70515 Mute This Topic: https://groups.io/mt/79941618/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-