Some modules (such as FaultTolerantWriteDxe) use the FlashNvStorage PCDs (PcdFlashNvStorageFtw*). In case the flash contents are not mapped in memory, the module loading order of the FVB driver may become important. To handle above, this patch allows to hook the dependency of desired DXE_DRIVER type module in the .DSC file via NvVarStoreFormattedLib NULL resolution. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marcin Wojtas <mw@semihalf.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
47 lines
1.9 KiB
INI
47 lines
1.9 KiB
INI
## @file
|
|
# A hook-in library for:
|
|
# - MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
|
# - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
|
# - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf
|
|
#
|
|
# Plugging this library instance into one of the above modules makes that
|
|
# variable service backend wait for another platform module to dynamically
|
|
# initialize or verify EFI_FIRMWARE_VOLUME_HEADER and VARIABLE_STORE_HEADER in
|
|
# the non-volatile variable store FVB device. The initialization / verification
|
|
# is signaled by installing gEdkiiNvVarStoreFormattedGuid into the
|
|
# phase-matching PPI or protocol database, with a NULL interface. (Note that
|
|
# installing gEdkiiNvVarStoreFormattedGuid into either the DXE or the MM
|
|
# protocol database will unblock VariableSmm -- refer to EFI_SECTION_MM_DEPEX
|
|
# in the PI spec.)
|
|
#
|
|
# Copyright (C) 2018, Red Hat, Inc.
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 1.27
|
|
BASE_NAME = NvVarStoreFormattedLib
|
|
FILE_GUID = 78f76ae8-ae62-4455-8148-c3a7ebaaa3f3
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = NvVarStoreFormattedLib|PEIM DXE_RUNTIME_DRIVER DXE_SMM_DRIVER
|
|
CONSTRUCTOR = NvVarStoreFormattedInitialize
|
|
|
|
[Sources]
|
|
NvVarStoreFormattedLib.c
|
|
|
|
[Packages]
|
|
EmbeddedPkg/EmbeddedPkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
|
|
#
|
|
# The matching DEPEX section below will generate the EFI_SECTION_PEI_DEPEX,
|
|
# EFI_SECTION_DXE_DEPEX or EFI_SECTION_MM_DEPEX leaf section for the PEIM
|
|
# (EFI_FV_FILETYPE_PEIM), DXE_RUNTIME_DRIVER/DXE_DRIVER (EFI_FV_FILETYPE_DRIVER), or
|
|
# DXE_SMM_DRIVER (EFI_FV_FILETYPE_MM) module, respectively.
|
|
#
|
|
[Depex.common.PEIM, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_DRIVER, Depex.common.DXE_SMM_DRIVER]
|
|
gEdkiiNvVarStoreFormattedGuid
|