On 6 April 2016 at 18:14, Ard Biesheuvel <[email protected]> wrote:
> This is the first step towards getting rid of the kludge which is VirtFdtDxe.
>
> This series addresses the cases where other DXE drivers rely on dynamic PCDs
> populated by VirtFdtDxe, which requires it to execute first using an A PRIORI
> declaration. Instead, this series moves the DT node parsing to the respective
> users, using a new FDT client protocol which can be used in the various
> depexes.
>
> The next step is to split the remaining handling performed by VirtFdtDxe into
> drivers appropriate for the platforms, i.e., virtio for QEMU and xeniommio for
> Xen domU.
>
> This is somewhat rough around the edges, but is mostly intended to elicit
> discussion, and I fully expect these changes to make it into the tree looking
> a lot different from this v1.
>

Branch available here
https://git.linaro.org/people/ard.biesheuvel/uefi-next.git/shortlog/refs/heads/virt-fdt-refactor

> Ard Biesheuvel (21):
>   ArmVirtPkg: introduce FdtClientProtocol
>   ArmVirtPkg: drop dependency on DxePcdLib for DXE Pcd.inf
>   ArmVirtPkg: drop dependency on PeiPcdLib for PEI Pcd.inf
>   ArmVirtPkg/FdtClientDxe: implement new driver
>   ArmVirtPkg: add FdtClientDxe to the ArmVirtPkg platforms
>   ArmVirtPkg/ArmGicArchLib: move to FdtClient protocol
>   ArmVirtPkg/VirtFdtDxe: remove GIC discovery
>   ArmVirtPkg/ArmVirtPsciResetSystemLib: move to FDT client protocol
>   ArmVirtPkg/VirtFdtDxe: drop detection of PSCI method
>   ArmVirtPkg: implement ArmVirtTimerFdtClientLib
>   ArmVirtPkg: move TimerDxe to FDT client library
>   ArmVirtPkg/VirtFdtDxe: remove timer DT node handling
>   ArmVirtPkg/QemuFwCfgLib: move to FDT client protocol
>   ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node
>   ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol
>   ArmVirtPkg/BaseCachingPciExpressLib: construct at first invocation
>   ArmVirtPkg/VirtFdtDxe: drop PCI host bridge handling
>   ArmVirtPkg: implement ArmVirtRtcFdtClientLib
>   ArmVirtPkg: move QEMU based platforms to ArmVirtRtcFdtClientLib
>   ArmVirtPkg/VirtFdtDxe: drop RTC handling
>   ArmVirtPkg: get rid of A PRIORI DXE declarations for VirtFdtDxe
>
>  ArmVirtPkg/ArmVirtPkg.dec                                                  | 
>  21 +-
>  ArmVirtPkg/ArmVirtQemu.dsc                                                 | 
>  35 +-
>  ArmVirtPkg/ArmVirtQemu.fdf                                                 | 
>   8 +-
>  ArmVirtPkg/ArmVirtQemuKernel.dsc                                           | 
>  30 +-
>  ArmVirtPkg/ArmVirtQemuKernel.fdf                                           | 
>   5 +-
>  ArmVirtPkg/ArmVirtXen.dsc                                                  | 
>  25 +-
>  ArmVirtPkg/ArmVirtXen.fdf                                                  | 
>   5 +-
>  ArmVirtPkg/FdtClientDxe/FdtClientDxe.c                                     | 
> 236 ++++++++++++
>  ArmVirtPkg/FdtClientDxe/FdtClientDxe.inf                                   | 
>  48 +++
>  ArmVirtPkg/Include/Protocol/FdtClient.h                                    | 
>  89 +++++
>  ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.c                   | 
>  84 ++++-
>  ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf                 | 
>  15 +-
>  ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.c   | 
>  38 +-
>  ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.inf | 
>  11 +-
>  ArmVirtPkg/Library/ArmVirtRtcFdtClientLib/ArmVirtRtcFdtClientLib.c         | 
>  69 ++++
>  ArmVirtPkg/Library/ArmVirtRtcFdtClientLib/ArmVirtRtcFdtClientLib.inf       | 
>  48 +++
>  ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.c     | 
>  90 +++++
>  ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf   | 
>  50 +++
>  ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf   | 
>   1 -
>  ArmVirtPkg/Library/BaseCachingPciExpressLib/PciExpressLib.c                | 
>  16 +-
>  ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c                             | 
>  73 +++-
>  ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                           | 
>  12 +-
>  ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.c                                | 
> 233 +++++++++++-
>  ArmVirtPkg/PciHostBridgeDxe/PciHostBridge.h                                | 
>   2 +
>  ArmVirtPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf                           | 
>  16 +-
>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c                                         | 
> 395 +-------------------
>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf                                       | 
>  27 --
>  27 files changed, 1112 insertions(+), 570 deletions(-)
>  create mode 100644 ArmVirtPkg/FdtClientDxe/FdtClientDxe.c
>  create mode 100644 ArmVirtPkg/FdtClientDxe/FdtClientDxe.inf
>  create mode 100644 ArmVirtPkg/Include/Protocol/FdtClient.h
>  create mode 100644 
> ArmVirtPkg/Library/ArmVirtRtcFdtClientLib/ArmVirtRtcFdtClientLib.c
>  create mode 100644 
> ArmVirtPkg/Library/ArmVirtRtcFdtClientLib/ArmVirtRtcFdtClientLib.inf
>  create mode 100644 
> ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.c
>  create mode 100644 
> ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf
>
> --
> 2.5.0
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to