public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v4 0/9] Add extra pci roots support for Arm
@ 2021-01-12  9:45 Jiahui Cen
  2021-01-12  9:45 ` [PATCH v4 1/9] OvmfPkg: Introduce PciHostBridgeUtilityLib class Jiahui Cen
                   ` (9 more replies)
  0 siblings, 10 replies; 35+ messages in thread
From: Jiahui Cen @ 2021-01-12  9:45 UTC (permalink / raw)
  To: devel
  Cc: Jordan Justen, Laszlo Ersek, Ard Biesheuvel, Rebecca Cran,
	Peter Grehan, Anthony Perard, Julien Grall, Leif Lindholm,
	Sami Mujawar, xieyingtai, wu.wubin, Jiahui Cen, Yubo Miao

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.

v3: https://edk2.groups.io/g/devel/message/69382
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3059
QEMU: https://lore.kernel.org/qemu-devel/20201119014841.7298-1-cenjiahui@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.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Peter Grehan <grehan@freebsd.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Julien Grall <julien@xen.org>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Jiahui Cen <cenjiahui@huawei.com>
Signed-off-by: Yubo Miao <miaoyubo@huawei.com>

Jiahui Cen (9):
  OvmfPkg: Introduce PciHostBridgeUtilityLib class
  ArmVirtPkg: Refactor with PciHostBridgeUtilityLib
  OvmfPkg/PciHostBridgeLib: Extract InitRootBridge/UninitRootBridge
  OvmfPkg/PciHostBridgeUtilityLib: Extend parameter list of
    InitRootBridge
  ArmVirtPkg/FdtPciHostBridgeLib: Rebase to InitRootBridge() /
    UninitRootBridge()
  OvmfPkg/PciHostBridgeLib: Extract GetRootBridges/FreeRootBridges
  OvmfPkg/PciHostBridgeUtilityLib: Extend parameter list of
    GetRootBridges
  ArmVirtPkg/FdtPciHostBridgeLib: Refactor GetRootBridges() /
    FreeRootBridges()
  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                                                      |   3 +-
 OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf                                        |  43 +++
 OvmfPkg/Include/Library/PciHostBridgeUtilityLib.h                                                          | 182 +++++++++++
 OvmfPkg/Library/PciHostBridgeLib/PciHostBridge.h                                                           |  56 ----
 ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c                                               | 164 ++++------
 OvmfPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c                                                        | 321 +-------------------
 OvmfPkg/Library/PciHostBridgeLib/XenSupport.c                                                              |   4 +-
 OvmfPkg/Library/{PciHostBridgeLib/PciHostBridgeLib.c => PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.c} | 247 ++++++++-------
 ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc                                                                       |   1 +
 20 files changed, 435 insertions(+), 604 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} (57%)

-- 
2.29.2


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2021-01-18 17:26 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-12  9:45 [PATCH v4 0/9] Add extra pci roots support for Arm Jiahui Cen
2021-01-12  9:45 ` [PATCH v4 1/9] OvmfPkg: Introduce PciHostBridgeUtilityLib class Jiahui Cen
2021-01-13  0:41   ` [edk2-devel] " Laszlo Ersek
2021-01-14  8:57   ` Laszlo Ersek
2021-01-12  9:45 ` [PATCH v4 2/9] ArmVirtPkg: Refactor with PciHostBridgeUtilityLib Jiahui Cen
2021-01-13  0:44   ` [edk2-devel] " Laszlo Ersek
2021-01-12  9:45 ` [PATCH v4 3/9] OvmfPkg/PciHostBridgeLib: Extract InitRootBridge/UninitRootBridge Jiahui Cen
2021-01-13  1:28   ` [edk2-devel] " Laszlo Ersek
2021-01-13  6:00     ` Jiahui Cen
2021-01-13  9:06       ` Laszlo Ersek
2021-01-14  8:51   ` Laszlo Ersek
2021-01-12  9:45 ` [PATCH v4 4/9] OvmfPkg/PciHostBridgeUtilityLib: Extend parameter list of InitRootBridge Jiahui Cen
2021-01-13  1:51   ` [edk2-devel] " Laszlo Ersek
2021-01-13  6:01     ` Jiahui Cen
2021-01-12  9:45 ` [PATCH v4 5/9] ArmVirtPkg/FdtPciHostBridgeLib: Rebase to InitRootBridge() / UninitRootBridge() Jiahui Cen
2021-01-13  2:15   ` [edk2-devel] " Laszlo Ersek
2021-01-13  6:10     ` Jiahui Cen
2021-01-13  9:05       ` Laszlo Ersek
2021-01-12  9:45 ` [PATCH v4 6/9] OvmfPkg/PciHostBridgeLib: Extract GetRootBridges/FreeRootBridges Jiahui Cen
2021-01-14  9:12   ` [edk2-devel] " Laszlo Ersek
2021-01-12  9:45 ` [PATCH v4 7/9] OvmfPkg/PciHostBridgeUtilityLib: Extend parameter list of GetRootBridges Jiahui Cen
2021-01-14 10:46   ` [edk2-devel] " Laszlo Ersek
2021-01-14 12:44     ` Jiahui Cen
2021-01-14 16:03       ` Laszlo Ersek
2021-01-15  7:25     ` Jiahui Cen
2021-01-15  7:59       ` Laszlo Ersek
2021-01-15  8:30         ` Jiahui Cen
2021-01-12  9:45 ` [PATCH v4 8/9] ArmVirtPkg/FdtPciHostBridgeLib: Refactor GetRootBridges() / FreeRootBridges() Jiahui Cen
2021-01-14 11:01   ` [edk2-devel] " Laszlo Ersek
2021-01-14 12:48     ` Jiahui Cen
2021-01-12  9:45 ` [PATCH v4 9/9] ArmVirtPkg/ArmVirtQemu: Add support for HotPlug Jiahui Cen
2021-01-14 11:04   ` [edk2-devel] " Laszlo Ersek
2021-01-14 11:53 ` [PATCH v4 0/9] Add extra pci roots support for Arm Laszlo Ersek
2021-01-14 12:51   ` Jiahui Cen
2021-01-18 17:26     ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox