TianoCore EDK2 master
Loading...
Searching...
No Matches
VariableFlashInfo.h File Reference

Go to the source code of this file.

Data Structures

struct  VARIABLE_FLASH_INFO
 

Macros

#define VARIABLE_FLASH_INFO_HOB_GUID    { 0x5d11c653, 0x8154, 0x4ac3, { 0xa8, 0xc2, 0xfb, 0xa2, 0x89, 0x20, 0xfc, 0x90 }}
 
#define VARIABLE_FLASH_INFO_HOB_VERSION   1
 

Variables

EFI_GUID gVariableFlashInfoHobGuid
 

Detailed Description

This file defines the GUID and data structure used to pass information about a variable store mapped on flash (i.e. a MMIO firmware volume) to the modules that consume that information such as the DXE and MM UEFI variable drivers.

The HOB described in this file is currently optional. It is primarily provided to allow a platform to dynamically describe the flash information to environments such as Standalone MM that cannot access the prior method using dynamic PCDs.

Even for platforms that use Standalone MM, if the information is only stored statically such as with FixedAtBuild PCDs, the HOB is not required.

Every point of consumption in this package that uses the PCDs will first check for the HOB and use its value if present.

Early modules such as the PEI UEFI variable driver might also consume this information. For modules such as these, that execute early in the boot flow, at least two approaches are possible depending on platform design.

  1. If the information in the HOB exactly matches the information in the PCDs, (i.e. the HOB values are set using the PCD values), let the driver read the information from the PCD and produce the HOB later in boot.
  2. Produce the HOB very early in boot. For example, the earliest point the HOB is currently consumed is in FaultTolerantWritePei. Note that FaultTolerantWritePei produces gEdkiiFaultTolerantWriteGuid which is a dependency for VariablePei.

    Therefore, attaching a NULL class library to FaultTolerantWritePei with a constructor that produces the HOB will guarantee it is produced before the first point of consumption as the constructor is executed before the module entry point.

Copyright (c) Microsoft Corporation.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file VariableFlashInfo.h.

Macro Definition Documentation

◆ VARIABLE_FLASH_INFO_HOB_GUID

#define VARIABLE_FLASH_INFO_HOB_GUID    { 0x5d11c653, 0x8154, 0x4ac3, { 0xa8, 0xc2, 0xfb, 0xa2, 0x89, 0x20, 0xfc, 0x90 }}

Definition at line 41 of file VariableFlashInfo.h.

◆ VARIABLE_FLASH_INFO_HOB_VERSION

#define VARIABLE_FLASH_INFO_HOB_VERSION   1

Definition at line 44 of file VariableFlashInfo.h.