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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to