As I recall, this enables a modest (non-essential) improvement in
fragmentation, at the cost of more ways to configure OVMF to hang
during boot. (With info available via debugcon.)

I would prefer if were able to always fallback and continue boot.
Later, after GOP has started we could visibly warn the user that they
haven't properly enabled SMM and/or flash.

If we had a way to do this, I would be in favor of displaying an error
message and delaying for 30 seconds before booting if flash has not
been enabled. (Or, if SMM was enabled in the build, but not set on the
command line.)

At that point, I think we could start to transition to making flash an
boot requirement for OVMF. But first we need to be able to visibly
warn the user why they are not able to boot.

-Jordan

On 2017-11-30 08:30:21, Laszlo Ersek wrote:
> Repo:   https://github.com/lersek/edk2.git
> Branch: memmap_defrag_v2
> 
> This version is identical to the v1 seres I posted in March. Some
> patches of the v1 series have been committed. I've been rebasing and
> using the rest since, and am now posting it as v2. References:
> 
> * https://bugzilla.tianocore.org/show_bug.cgi?id=386
> 
> * http://mid.mail-archive.com/20170314233246.17864-1-lersek@redhat.com
>   https://lists.01.org/pipermail/edk2-devel/2017-March/008525.html
> 
> * http://mid.mail-archive.com/20170327080544.24748-1-jordan.l.justen@intel.com
>   https://lists.01.org/pipermail/edk2-devel/2017-March/009049.html
> 
> Cc: Anthony Perard <anthony.per...@citrix.com>
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Jordan Justen <jordan.l.jus...@intel.com>
> Cc: Julien Grall <julien.gr...@linaro.org>
> 
> Thanks
> Laszlo
> 
> Laszlo Ersek (8):
>   OvmfPkg: introduce PcdMemVarstoreEmuEnable feature flag
>   OvmfPkg/QemuFlashFvbServicesRuntimeDxe: check PcdMemVarstoreEmuEnable
>   OvmfPkg: conditionally disable reserved memory varstore emulation at
>     build
>   OvmfPkg: introduce FlashNvStorageAddressLib
>   OvmfPkg: include FaultTolerantWritePei and VariablePei
>   OvmfPkg/QemuFlashFvbServicesRuntimeDxe: don't set flash PCDs if SMM or
>     no-emu
>   OvmfPkg/PlatformPei: remedy UEFI memory map fragmentation
>   OvmfPkg/README: document MEM_VARSTORE_EMU_ENABLE and memmap defrag
> 
>  OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.c   |  53 
> +++++++
>  OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.inf |  48 
> +++++++
>  OvmfPkg/OvmfPkg.dec                                                   |   6 +
>  OvmfPkg/OvmfPkgIa32.dsc                                               |  15 
> +-
>  OvmfPkg/OvmfPkgIa32.fdf                                               |   8 
> +-
>  OvmfPkg/OvmfPkgIa32X64.dsc                                            |  15 
> +-
>  OvmfPkg/OvmfPkgIa32X64.fdf                                            |   8 
> +-
>  OvmfPkg/OvmfPkgX64.dsc                                                |  15 
> +-
>  OvmfPkg/OvmfPkgX64.fdf                                                |   8 
> +-
>  OvmfPkg/PlatformPei/MemTypeInfo.c                                     | 151 
> ++++++++++++++++++++
>  OvmfPkg/PlatformPei/Platform.c                                        |  26 
> +---
>  OvmfPkg/PlatformPei/Platform.h                                        |   5 +
>  OvmfPkg/PlatformPei/PlatformPei.inf                                   |   3 +
>  OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf      |   1 +
>  OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf             |   1 +
>  OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FwBlockService.c               |  58 
> +++++---
>  OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c                    |   1 +
>  OvmfPkg/README                                                        |  10 
> ++
>  18 files changed, 385 insertions(+), 47 deletions(-)
>  create mode 100644 
> OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.c
>  create mode 100644 
> OvmfPkg/Library/FlashNvStorageAddressLib/FlashNvStorageAddressLib.inf
>  create mode 100644 OvmfPkg/PlatformPei/MemTypeInfo.c
> 
> -- 
> 2.14.1.3.gb7cf6e02401b
> 
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to