qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: qemu-devel@nongnu.org, edk2-devel@lists.sourceforge.net,
	drjones@redhat.com, ard.biesheuvel@linaro.org,
	peter.maydell@linaro.org, imammedo@redhat.com, mst@redhat.com
Subject: [Qemu-devel] [edk2 PATCH 00/12] consume fw_cfg boot order in ArmVirtualizationQemu
Date: Fri, 28 Nov 2014 00:19:15 +0100	[thread overview]
Message-ID: <1417130367-17777-1-git-send-email-lersek@redhat.com> (raw)
In-Reply-To: <5477B0FD.9040806@redhat.com>

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

  parent reply	other threads:[~2014-11-27 23:19 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-27 23:17 [Qemu-devel] expose QEMU's fw_cfg boot order to ARM guest firmware (Intel BDS) Laszlo Ersek
2014-11-27 23:18 ` [Qemu-devel] [qemu PATCH 0/2] DTB- and MMIO-based fw_cfg for hw/arm/virt Laszlo Ersek
2014-11-27 23:18   ` [Qemu-devel] [qemu PATCH 1/2] fw_cfg: make the FW_CFG_SIZE and FW_CFG_DATA_SIZE macros public Laszlo Ersek
2014-11-27 23:18   ` [Qemu-devel] [qemu PATCH 2/2] arm: add fw_cfg to "virt" board Laszlo Ersek
2014-11-27 23:28     ` Peter Maydell
2014-11-27 23:34       ` Laszlo Ersek
2014-11-27 23:37         ` Peter Maydell
2014-11-28 10:38     ` Andrew Jones
2014-11-28 10:43       ` Laszlo Ersek
2014-11-28 10:49         ` Laszlo Ersek
2014-11-28 11:17           ` Andrew Jones
2014-11-28 10:51         ` Andrew Jones
2014-11-27 23:19 ` Laszlo Ersek [this message]
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 01/12] ArmVirtualizationPkg: VirtFdtDxe: forward FwCfg addresses from DTB to PCDs Laszlo Ersek
2014-12-05 17:39     ` [Qemu-devel] [edk2] " Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 02/12] ArmVirtualizationPkg: introduce QemuFwCfgLib instance for DXE drivers Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 03/12] ArmVirtualizationPkg: clone PlatformIntelBdsLib from ArmPlatformPkg Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 04/12] ArmVirtualizationPkg: PlatformIntelBdsLib: add basic policy Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 05/12] OvmfPkg: extract QemuBootOrderLib Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 06/12] OvmfPkg: QemuBootOrderLib: featurize PCI-like device path translation Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 07/12] OvmfPkg: introduce VIRTIO_MMIO_TRANSPORT_GUID Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 08/12] ArmVirtualizationPkg: VirtFdtDxe: use dedicated VIRTIO_MMIO_TRANSPORT_GUID Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 09/12] OvmfPkg: QemuBootOrderLib: widen ParseUnitAddressHexList() to UINT64 Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 10/12] OvmfPkg: QemuBootOrderLib: OFW-to-UEFI translation for virtio-mmio Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 11/12] ArmVirtualizationPkg: PlatformIntelBdsLib: adhere to QEMU's boot order Laszlo Ersek
2014-11-27 23:19   ` [Qemu-devel] [edk2 PATCH 12/12] ArmVirtualizationPkg: identify "new shell" as builtin shell for Intel BDS Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1417130367-17777-1-git-send-email-lersek@redhat.com \
    --to=lersek@redhat.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=drjones@redhat.com \
    --cc=edk2-devel@lists.sourceforge.net \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).