Changes in v3: - Patches #1 and #2 have been updated to exploit the new 64-bit width of the fw_cfg data register, for (almost linearly) better performance. Please see the notes on the individual patches for changes. This improvement was suggested by Drew Jones.
- Patch #13 has been tacked on, fusing the original posting at <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/11604> with this series. The patch has also been updated; please see the details in the notes section of the patch. - The series now depends on the (similarly unified) QEMU patchset at <http://thread.gmane.org/gmane.comp.emulators.qemu/309641>: [PATCH v3 0/7] fw_cfg, bootorder, and UEFI+'-kernel' on arm/virt - Public branch: https://github.com/lersek/edk2/commits/armvirt_fwcfg_efi_kernel_support_bz1128341_v3 Changes in v2 (archived at <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/11591>): - The DTB bindings have been updated ("standardized") for patch #1. (Changes are mentioned there in a bit more detail.) V1 was posted at <http://thread.gmane.org/gmane.comp.bios.tianocore.devel/11493/focus=11497>. Quoting the blurb: > 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. Thanks, Laszlo Laszlo Ersek (13): 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 ArmVirtualizationPkg: Intel BDS: load EFI-stubbed Linux kernel from fw_cfg ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf | 77 ++++ 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 | 63 ++++ OvmfPkg/Include/Guid/VirtioMmioTransport.h | 25 ++ OvmfPkg/{Library/PlatformBdsLib/QemuBootOrder.h => Include/Library/QemuBootOrderLib.h} | 6 +- ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c | 395 +++++++++++++++++++ ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/QemuKernel.c | 1088 +++++++++++++++++++++++++++++++++++++++++++++++++++++ ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 358 ++++++++++++++++++ ArmPlatformPkg/ArmVirtualizationPkg/VirtFdtDxe/VirtFdtDxe.c | 28 +- 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 + 20 files changed, 2456 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/PlatformIntelBdsLib/QemuKernel.c create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c rename OvmfPkg/Library/{PlatformBdsLib/QemuBootOrder.c => QemuBootOrderLib/QemuBootOrderLib.c} (77%) -- 1.8.3.1 ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
