89465fe OvmfPkg: include FaultTolerantWritePei and VariablePei with -D SMM_REQUIRE

6 files Authored by lersek 4 years ago, Committed by mergify[bot] 4 years ago,
    OvmfPkg: include FaultTolerantWritePei and VariablePei with -D SMM_REQUIRE
    
    FaultTolerantWritePei consumes:
    - PcdFlashNvStorageFtwWorkingBase,
    - PcdFlashNvStorageFtwSpareBase.
    
    VariablePei consumes:
    - PcdFlashNvStorageVariableBase64.
    
    Due to the previous patches in this series, the above PCDs are available
    in the PEI phase, in the SMM_REQUIRE build.
    
    FaultTolerantWritePei produces a GUID-ed HOB with
    FAULT_TOLERANT_WRITE_LAST_WRITE_DATA as contents. It also installs a Null
    PPI that carries the same gEdkiiFaultTolerantWriteGuid as the HOB.
    
    VariablePei depends on the Null PPI mentioned above with a DEPEX, consumes
    the HOB (which is safe due to the DEPEX), and produces
    EFI_PEI_READ_ONLY_VARIABLE2_PPI.
    
    This enables read-only access to non-volatile UEFI variables in the PEI
    phase, in the SMM_REQUIRE build.
    
    For now, the DxeLoadCore() function in
    "MdeModulePkg/Core/DxeIplPeim/DxeLoad.c" will not access the
    "MemoryTypeInformation" variable, because OVMF's PlatformPei always
    produces the MemoryTypeInformation HOB.
    
    (Note: when the boot mode is BOOT_ON_S3_RESUME, PlatformPei doesn't build
    the HOB, but that's in sync with DxeLoadCore() also not looking for either
    the HOB or the UEFI variable.)
    
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Jordan Justen <jordan.l.justen@intel.com>
    Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=386
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20200310222739.26717-5-lersek@redhat.com>
    Acked-by: Leif Lindholm <leif@nuviainc.com>
    
        
file modified
+2 -0
file modified
+2 -0
file modified
+2 -0
file modified
+2 -0
file modified
+2 -0
file modified
+2 -0