qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [edk2 PATCH 00/12] consume fw_cfg boot order in ArmVirtuali


From: Laszlo Ersek
Subject: [Qemu-devel] [edk2 PATCH 00/12] consume fw_cfg boot order in ArmVirtualizationQemu
Date: Fri, 28 Nov 2014 00:19:15 +0100

The series
- adds a DTB- and MMIO-based fw_cfg client library to the
  ArmVirtualizationQemu platform (patches #1 and #2),

- makes OvmfPkg's OpenFirmware to UEFI devpath translation logic
  reusable for the ArmVirtualizationQemu platform, making the virtio-pci
  specific bits conditional (patches #5 and #6),

- introduces (similarly conditional) coverage for virtio-mmio device
  paths (patches #7, #8, #9, #10),

- introduces a new Intel BDS boot policy for ArmVirtualizationQemu that
  considers the QEMU boot order, similarly to OVMF (patches #3, #4,
  #11),

- somewhat independently, ensures that the UEFI shell is always present
  as a boot option (patch #12).

The patches are interleaved in a "demand driven" order, showing the
dependencies between ArmVirtualizationPkg and OvmfPkg.
ArmVirtualizationPkg takes the edges, providing the low level fw_cfg
client service and consuming the top-level feature, whereas OvmfPkg sits
in the middle, consuming the fw_cfg capability and providing the boot
order logic.

The patchset compiles at each step, for OvmfPkg, for
ArmVirtualizationPkg without -D INTEL_BDS, and for ArmVirtualizationPkg
with -D INTEL_BDS.

Public branch:
https://github.com/lersek/edk2/commits/armvirt_fwcfg

Thanks
Laszlo

Laszlo Ersek (12):
  ArmVirtualizationPkg: VirtFdtDxe: forward FwCfg addresses from DTB to
    PCDs
  ArmVirtualizationPkg: introduce QemuFwCfgLib instance for DXE drivers
  ArmVirtualizationPkg: clone PlatformIntelBdsLib from ArmPlatformPkg
  ArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy
  OvmfPkg: extract QemuBootOrderLib
  OvmfPkg: QemuBootOrderLib: featurize PCI-like device path translation
  OvmfPkg: introduce VIRTIO_MMIO_TRANSPORT_GUID
  ArmVirtualizationPkg: VirtFdtDxe: use dedicated
    VIRTIO_MMIO_TRANSPORT_GUID
  OvmfPkg: QemuBootOrderLib: widen ParseUnitAddressHexList() to UINT64
  OvmfPkg: QemuBootOrderLib: OFW-to-UEFI translation for virtio-mmio
  ArmVirtualizationPkg: PlatformIntelBdsLib: adhere to QEMU's boot order
  ArmVirtualizationPkg: identify "new shell" as builtin shell for Intel
    BDS

 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
 |  67 ++++++++++
 ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf      
         |  52 ++++++++
 ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.inf                  
         |   5 +-
 OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf                              
         |   3 +-
 OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf                          
         |  59 +++++++++
 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h
      |  41 ++++++
 OvmfPkg/Include/Guid/VirtioMmioTransport.h                                     
         |  25 ++++
 OvmfPkg/{Library/PlatformBdsLib/QemuBootOrder.h => 
Include/Library/QemuBootOrderLib.h}  |   6 +-
 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
      | 390 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c        
         | 326 +++++++++++++++++++++++++++++++++++++++++++++
 ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c                    
         |  30 ++++-
 OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c                                   
         |   2 +-
 OvmfPkg/Library/{PlatformBdsLib/QemuBootOrder.c => 
QemuBootOrderLib/QemuBootOrderLib.c} | 299 
+++++++++++++++++++++++++++++++++++++----
 ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationPkg.dec                   
         |   3 +
 ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc                  
         |  13 +-
 OvmfPkg/OvmfPkg.dec                                                            
         |   8 ++
 OvmfPkg/OvmfPkgIa32.dsc                                                        
         |   1 +
 OvmfPkg/OvmfPkgIa32X64.dsc                                                     
         |   1 +
 OvmfPkg/OvmfPkgX64.dsc                                                         
         |   1 +
 19 files changed, 1301 insertions(+), 31 deletions(-)
 create mode 100644 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
 create mode 100644 
ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
 create mode 100644 OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
 create mode 100644 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.h
 create mode 100644 OvmfPkg/Include/Guid/VirtioMmioTransport.h
 rename OvmfPkg/{Library/PlatformBdsLib/QemuBootOrder.h => 
Include/Library/QemuBootOrderLib.h} (91%)
 create mode 100644 
ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
 create mode 100644 
ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
 rename OvmfPkg/Library/{PlatformBdsLib/QemuBootOrder.c => 
QemuBootOrderLib/QemuBootOrderLib.c} (77%)

-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]