https://github.com/jljusten/edk2.git ovmf-nvvars-v2

This series implements support for QEMU's emulated
system flash.

This allows for persistent UEFI non-volatile variables.

Previously we attempted to emulate non-volatile
variables in a few ways, but each of them would fail
in particular situations.

To support flash based variable storage, we:
 * Reserve space in the firmware device image
 * Add a new flash firmware volume block driver
 * Disable EmuVariableFvbRuntimeDxe (at runtime) if QEMU
   flash is available.

To use:
 * QEMU version 1.1 or newer is required without KVM
 * KVM support requires Linux 3.7 and QEMU 1.6
 * Run QEMU with -pflash OVMF.fd instead of -L or -bios
   or use OvmfPkg/build.sh --enable-flash qemu ...
 * If QEMU is 1.6 or newer, then OvmfPkg/build.sh will
   automatically enable flash when running QEMU, so in
   that case --enable-flash is not required.

See also:
 * http://wiki.qemu.org/Features/PC_System_Flash

v2:
 * Replace
     "OvmfPkg/AcpiPlatformDxe/Qemu: Allow high runtime memory regions"
   with
     "OvmfPkg/AcpiPlatformDxe/Qemu: Decrease upper limit for PCI window 32"
 * Separate portions of
     "OvmfPkg/build.sh: Support --enable-flash switch"
   out into a new patch
     "OvmfPkg/build.sh: Enable flash for QEMU >= 1.6"
 * Add "OvmfPkg/README: Add information about OVMF flash layout"
 * Update "OvmfPkg: Add NV Variable storage within FD" to also change the
   size of PcdVariableStoreSize
 * Update commit messages on a couple patches for better clarity

Jordan Justen (10):
  OvmfPkg: Increase DEBUG build size to 2MB by default
  OvmfPkg: Add flash PCD items
  OvmfPkg: Add NV Variable storage within FD
  OvmfPkg/README: Add information about OVMF flash layout
  OvmfPkg/AcpiPlatformDxe/Qemu: Decrease upper limit for PCI window 32
  OvmfPkg/EmuVariableFvbRuntimeDxe: Disable if flash variables are
    supported
  OvmfPkg: Add QemuFlashFvbServicesRuntimeDxe driver
  OvmfPkg: Add QemuFlashFvbServicesRuntimeDxe to firmware image
  OvmfPkg/build.sh: Support --enable-flash switch
  OvmfPkg/build.sh: Enable flash for QEMU >= 1.6

 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf        |    1 +
 OvmfPkg/AcpiPlatformDxe/Qemu.c                     |    2 +-
 OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c             |    6 +
 OvmfPkg/OvmfPkg.dec                                |   12 +-
 OvmfPkg/OvmfPkgIa32.dsc                            |    6 +-
 OvmfPkg/OvmfPkgIa32.fdf                            |  109 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                         |    6 +-
 OvmfPkg/OvmfPkgIa32X64.fdf                         |  109 +-
 OvmfPkg/OvmfPkgX64.dsc                             |    6 +-
 OvmfPkg/OvmfPkgX64.fdf                             |  109 +-
 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbInfo.c   |  137 +++
 .../FvbServicesRuntimeDxe.inf                      |   83 ++
 .../FwBlockService.c                               | 1226 ++++++++++++++++++++
 .../FwBlockService.h                               |  184 +++
 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c |  262 +++++
 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.h |   89 ++
 OvmfPkg/README                                     |   37 +
 OvmfPkg/build.sh                                   |   40 +-
 18 files changed, 2362 insertions(+), 62 deletions(-)
 create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbInfo.c
 create mode 100644 
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
 create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.c
 create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.h
 create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c
 create mode 100644 OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.h

-- 
1.7.10.4


------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to