mirror of https://github.com/acidanthera/audk.git
Refine code for PiPeiCis.h according to code review comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5950 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ec90508b3d
commit
c7c308ad48
|
@ -288,11 +288,15 @@ EFI_STATUS
|
||||||
/**
|
/**
|
||||||
The purpose of the service is to abstract the capability of the PEI
|
The purpose of the service is to abstract the capability of the PEI
|
||||||
Foundation to discover instances of firmware volumes in the system.
|
Foundation to discover instances of firmware volumes in the system.
|
||||||
Given the input file pointer, this service searches for the next
|
|
||||||
matching file in the Firmware File System (FFS) volume.
|
This service enables PEIMs to discover additional firmware volumes. The PEI Foundation uses this
|
||||||
|
service to abstract the locations and formats of various firmware volumes. These volumes include
|
||||||
|
the Boot Firmware Volume and any other volumes exposed by EFI_PEI_FV_PPI. The service
|
||||||
|
returns a volume handle of type EFI_PEI_FV_HANDLE, which must be unique within the system.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
@param Instance This instance of the firmware volume to find. The value 0 is the Boot Firmware Volume (BFV).
|
@param Instance This instance of the firmware volume to find.
|
||||||
|
The value 0 is the Boot Firmware Volume (BFV).
|
||||||
@param VolumeHandle On exit, points to the next volumn handle or NULL if it does not exist.
|
@param VolumeHandle On exit, points to the next volumn handle or NULL if it does not exist.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The volume was found.
|
@retval EFI_SUCCESS The volume was found.
|
||||||
|
@ -309,17 +313,20 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The purpose of the service is to abstract the capability of the PEI
|
Searches for the next matching file in the firmware volume.
|
||||||
Foundation to discover instances of firmware files in the system.
|
|
||||||
Given the input file pointer, this service searches for the next matching
|
This service enables PEIMs to discover firmware files within a specified volume.
|
||||||
file in the Firmware File System (FFS) volume.
|
To find the first instance of a firmware file, pass a FileHandle value of NULL into the service.
|
||||||
|
The service returns a file handle of type EFI_PEI_FILE_HANDLE, which must be unique within
|
||||||
|
the system.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
@param SearchType A filter to find files only of this type.
|
@param SearchType A filter to find files only of this type.
|
||||||
@param FwVolHeader Pointer to the firmware volume header of the volume to search.This parameter
|
@param FvHandle Handle of firmware volume in which to search.
|
||||||
must point to a valid FFS volume.
|
@param FileHandle On entry, points to the current handle from which to begin searching
|
||||||
@param FileHeader Pointer to the current file from which to begin searching.This pointer will be
|
or NULL to start at the beginning of the firmware volume.
|
||||||
updated upon return to reflect the file found.
|
On exit, points the file handle of the next file in the volume or NULL
|
||||||
|
if there are no more files.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The file was found.
|
@retval EFI_SUCCESS The file was found.
|
||||||
@retval EFI_NOT_FOUND The file was not found.
|
@retval EFI_NOT_FOUND The file was not found.
|
||||||
|
@ -331,17 +338,23 @@ EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE2)(
|
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE2)(
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN EFI_FV_FILETYPE SearchType,
|
IN EFI_FV_FILETYPE SearchType,
|
||||||
IN EFI_PEI_FV_HANDLE VolumeHandle,
|
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Given the input file pointer, this service searches for the next
|
Searches for the next matching section within the specified file.
|
||||||
matching file in the Firmware File System (FFS) volume.
|
|
||||||
|
This service enables PEI modules to discover the first section of a given type within a valid file.
|
||||||
|
This service will search within encapsulation sections (compression and GUIDed) as well. It will
|
||||||
|
search inside of a GUIDed section or a compressed section, but may not, for example, search a
|
||||||
|
GUIDed section inside a GUIDes section.
|
||||||
|
This service will not search within compression sections or GUIDed sections which require
|
||||||
|
extraction if memory is not present.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
@param SectionType The value of the section type to find.
|
@param SectionType The value of the section type to find.
|
||||||
@param FfsFileHeader A pointer to the file header that contains the set of sections to be searched.
|
@param FileHandle Handle of the firmware file to search.
|
||||||
@param SectionData A pointer to the discovered section, if successful.
|
@param SectionData A pointer to the discovered section, if successful.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The section was found.
|
@retval EFI_SUCCESS The section was found.
|
||||||
|
@ -354,7 +367,7 @@ EFI_STATUS
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN EFI_SECTION_TYPE SectionType,
|
IN EFI_SECTION_TYPE SectionType,
|
||||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
IN OUT VOID **SectionData
|
OUT VOID **SectionData
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -398,7 +411,7 @@ EFI_STATUS
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN EFI_MEMORY_TYPE MemoryType,
|
IN EFI_MEMORY_TYPE MemoryType,
|
||||||
IN UINTN Pages,
|
IN UINTN Pages,
|
||||||
IN OUT EFI_PHYSICAL_ADDRESS *Memory
|
OUT EFI_PHYSICAL_ADDRESS *Memory
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -456,6 +469,11 @@ VOID
|
||||||
/**
|
/**
|
||||||
This service publishes an interface that allows PEIMs to report status codes.
|
This service publishes an interface that allows PEIMs to report status codes.
|
||||||
|
|
||||||
|
ReportStatusCode() is called by PEIMs that wish to report status information on their
|
||||||
|
progress. The principal use model is for a PEIM to emit one of the standard 32-bit error codes. This
|
||||||
|
will allow a platform owner to ascertain the state of the system, especially under conditions where
|
||||||
|
the full consoles might not have been installed.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||||
@param Type Indicates the type of status code being reported.
|
@param Type Indicates the type of status code being reported.
|
||||||
@param Value Describes the current status of a hardware or
|
@param Value Describes the current status of a hardware or
|
||||||
|
@ -491,10 +509,13 @@ EFI_STATUS
|
||||||
/**
|
/**
|
||||||
Resets the entire platform.
|
Resets the entire platform.
|
||||||
|
|
||||||
|
This service resets the entire platform, including all processors
|
||||||
|
and devices, and reboots the system.
|
||||||
|
This service will never return EFI_SUCCESS.
|
||||||
|
|
||||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES
|
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES
|
||||||
table published by the PEI Foundation.
|
table published by the PEI Foundation.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
|
||||||
@retval EFI_NOT_AVAILABLE_YET The service has not been installed yet.
|
@retval EFI_NOT_AVAILABLE_YET The service has not been installed yet.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -505,6 +526,7 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Find a file within a volume by its name.
|
||||||
|
|
||||||
This service searches for files with a specific name, within
|
This service searches for files with a specific name, within
|
||||||
either the specified firmware volume or all firmware volumes.
|
either the specified firmware volume or all firmware volumes.
|
||||||
|
@ -513,8 +535,8 @@ EFI_STATUS
|
||||||
|
|
||||||
@param FileName A pointer to the name of the file to
|
@param FileName A pointer to the name of the file to
|
||||||
find within the firmware volume.
|
find within the firmware volume.
|
||||||
@param VolumeHandle The firmware volume to search FileHandle
|
@param VolumeHandle The firmware volume to search.
|
||||||
Upon exit, points to the found file's
|
@param FileHandle Upon exit, points to the found file's
|
||||||
handle or NULL if it could not be found.
|
handle or NULL if it could not be found.
|
||||||
|
|
||||||
@retval EFI_SUCCESS File was found.
|
@retval EFI_SUCCESS File was found.
|
||||||
|
@ -527,36 +549,41 @@ typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FFS_FIND_BY_NAME)(
|
(EFIAPI *EFI_PEI_FFS_FIND_BY_NAME)(
|
||||||
IN CONST EFI_GUID *FileName,
|
IN CONST EFI_GUID *FileName,
|
||||||
IN CONST EFI_PEI_FV_HANDLE VolumeHandle,
|
IN EFI_PEI_FV_HANDLE VolumeHandle,
|
||||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
/**
|
/// Information of FV file.
|
||||||
|
///
|
||||||
@param FileName Name of the file.
|
|
||||||
@param FileType File type. See EFI_FV_FILETYPE, which is
|
|
||||||
defined in the Platform Initialization
|
|
||||||
Firmware Storage Specification.
|
|
||||||
@param FileAttributes Attributes of the file. Type
|
|
||||||
EFI_FV_FILE_ATTRIBUTES is defined in
|
|
||||||
the Platform Initialization Firmware
|
|
||||||
Storage Specification.
|
|
||||||
@param Buffer Points to the file's data (not the header).
|
|
||||||
Not valid if EFI_FV_FILE_ATTRIB_MEMORY_MAPPED
|
|
||||||
is zero.
|
|
||||||
@param BufferSize Size of the file's data.
|
|
||||||
|
|
||||||
**/
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Name of the file.
|
||||||
|
///
|
||||||
EFI_GUID FileName;
|
EFI_GUID FileName;
|
||||||
|
///
|
||||||
|
/// File type.
|
||||||
|
///
|
||||||
EFI_FV_FILETYPE FileType;
|
EFI_FV_FILETYPE FileType;
|
||||||
|
///
|
||||||
|
/// Attributes of the file.
|
||||||
|
///
|
||||||
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
||||||
|
///
|
||||||
|
/// Points to the file's data (not the header).
|
||||||
|
/// Not valid if EFI_FV_FILE_ATTRIB_MEMORY_MAPPED
|
||||||
|
/// is zero.
|
||||||
|
///
|
||||||
VOID *Buffer;
|
VOID *Buffer;
|
||||||
|
///
|
||||||
|
/// Size of the file’s data.
|
||||||
|
///
|
||||||
UINT32 BufferSize;
|
UINT32 BufferSize;
|
||||||
} EFI_FV_FILE_INFO;
|
} EFI_FV_FILE_INFO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Returns information about a specific file.
|
||||||
|
|
||||||
This function returns information about a specific file,
|
This function returns information about a specific file,
|
||||||
including its file name, type, attributes, starting address and
|
including its file name, type, attributes, starting address and
|
||||||
size. If the firmware volume is not memory mapped then the
|
size. If the firmware volume is not memory mapped then the
|
||||||
|
@ -575,40 +602,35 @@ typedef struct {
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FFS_GET_FILE_INFO)(
|
(EFIAPI *EFI_PEI_FFS_GET_FILE_INFO)(
|
||||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
OUT EFI_FV_FILE_INFO *FileInfo
|
OUT EFI_FV_FILE_INFO *FileInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
/**
|
/// Information of FV volume.
|
||||||
|
///
|
||||||
@param FvAttributes Attributes of the firmware volume. Type
|
|
||||||
EFI_FVB_ATTRIBUTES_2 is defined in the
|
|
||||||
Platform Initialization Firmware Storage
|
|
||||||
Specficiation.
|
|
||||||
|
|
||||||
@param FvFormat Format of the firmware volume. For PI
|
|
||||||
Architecture Firmware Volumes, this can
|
|
||||||
be copied from FileSystemGuid in
|
|
||||||
EFI_FIRMWARE_VOLUME_HEADER.
|
|
||||||
|
|
||||||
@param FvName Name of the firmware volume. For PI
|
|
||||||
Architecture Firmware Volumes, this can
|
|
||||||
be copied from VolumeName in the
|
|
||||||
extended header of
|
|
||||||
EFI_FIRMWARE_VOLUME_HEADER.
|
|
||||||
|
|
||||||
@param FvStart Points to the first byte of the firmware
|
|
||||||
volume, if bit EFI_FVB_MEMORY_MAPPED is
|
|
||||||
set in FvAttributes. FvSize Size of the
|
|
||||||
firmware volume.
|
|
||||||
|
|
||||||
**/
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Attributes of the firmware volume.
|
||||||
|
///
|
||||||
EFI_FVB_ATTRIBUTES_2 FvAttributes;
|
EFI_FVB_ATTRIBUTES_2 FvAttributes;
|
||||||
|
///
|
||||||
|
/// Format of the firmware volume.
|
||||||
|
///
|
||||||
EFI_GUID FvFormat;
|
EFI_GUID FvFormat;
|
||||||
|
///
|
||||||
|
/// Name of the firmware volume.
|
||||||
|
///
|
||||||
EFI_GUID FvName;
|
EFI_GUID FvName;
|
||||||
|
///
|
||||||
|
/// Points to the first byte of the firmware
|
||||||
|
/// volume, if bit EFI_FVB_MEMORY_MAPPED is
|
||||||
|
/// set in FvAttributes.
|
||||||
|
///
|
||||||
VOID *FvStart;
|
VOID *FvStart;
|
||||||
|
///
|
||||||
|
/// Size of the firmware volume.
|
||||||
|
///
|
||||||
UINT64 FvSize;
|
UINT64 FvSize;
|
||||||
} EFI_FV_INFO;
|
} EFI_FV_INFO;
|
||||||
|
|
||||||
|
@ -690,59 +712,111 @@ EFI_STATUS
|
||||||
/// - Creating Hand-Off Blocks (HOBs)
|
/// - Creating Hand-Off Blocks (HOBs)
|
||||||
///
|
///
|
||||||
struct _EFI_PEI_SERVICES {
|
struct _EFI_PEI_SERVICES {
|
||||||
|
///
|
||||||
|
/// The table header for the PEI Services Table.
|
||||||
|
///
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
//
|
///
|
||||||
// PPI Functions
|
/// Installs an interface in the PEI PEIM-to-PEIM
|
||||||
//
|
/// Interface (PPI) database by GUID.
|
||||||
|
///
|
||||||
EFI_PEI_INSTALL_PPI InstallPpi;
|
EFI_PEI_INSTALL_PPI InstallPpi;
|
||||||
|
///
|
||||||
|
/// Reinstalls an interface in the PEI PPI database by GUID.
|
||||||
|
///
|
||||||
EFI_PEI_REINSTALL_PPI ReInstallPpi;
|
EFI_PEI_REINSTALL_PPI ReInstallPpi;
|
||||||
|
///
|
||||||
|
/// Locates an interface in the PEI PPI database by GUID.
|
||||||
|
///
|
||||||
EFI_PEI_LOCATE_PPI LocatePpi;
|
EFI_PEI_LOCATE_PPI LocatePpi;
|
||||||
|
///
|
||||||
|
/// Installs the notification service to be called back
|
||||||
|
/// upon the installation or reinstallation of a given interface.
|
||||||
|
///
|
||||||
EFI_PEI_NOTIFY_PPI NotifyPpi;
|
EFI_PEI_NOTIFY_PPI NotifyPpi;
|
||||||
//
|
///
|
||||||
// Boot Mode Functions
|
/// Returns the present value of the boot mode.
|
||||||
//
|
///
|
||||||
EFI_PEI_GET_BOOT_MODE GetBootMode;
|
EFI_PEI_GET_BOOT_MODE GetBootMode;
|
||||||
|
///
|
||||||
|
/// Sets the value of the boot mode.
|
||||||
|
///
|
||||||
EFI_PEI_SET_BOOT_MODE SetBootMode;
|
EFI_PEI_SET_BOOT_MODE SetBootMode;
|
||||||
//
|
///
|
||||||
// HOB Functions
|
/// Returns the pointer to the list of Hand-Off Blocks (HOBs) in memory.
|
||||||
//
|
///
|
||||||
EFI_PEI_GET_HOB_LIST GetHobList;
|
EFI_PEI_GET_HOB_LIST GetHobList;
|
||||||
|
///
|
||||||
|
/// Abstracts the creation of HOB headers.
|
||||||
|
///
|
||||||
EFI_PEI_CREATE_HOB CreateHob;
|
EFI_PEI_CREATE_HOB CreateHob;
|
||||||
//
|
///
|
||||||
// Firmware Volume Functions
|
/// Discovers instances of firmware volumes in the system.
|
||||||
//
|
///
|
||||||
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume;
|
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume;
|
||||||
|
///
|
||||||
|
/// Discovers instances of firmware files in the system.
|
||||||
|
///
|
||||||
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile;
|
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile;
|
||||||
|
///
|
||||||
|
/// Searches for a section in a firmware file.
|
||||||
|
///
|
||||||
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData;
|
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData;
|
||||||
//
|
///
|
||||||
// PEI Memory Functions
|
/// Registers the found memory configuration with the PEI Foundation.
|
||||||
//
|
///
|
||||||
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
|
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
|
||||||
|
///
|
||||||
|
/// Allocates memory ranges that are managed by the PEI Foundation.
|
||||||
|
///
|
||||||
EFI_PEI_ALLOCATE_PAGES AllocatePages;
|
EFI_PEI_ALLOCATE_PAGES AllocatePages;
|
||||||
|
///
|
||||||
|
/// Allocate memory ranges that are managed by the PEI Foundation.
|
||||||
|
///
|
||||||
EFI_PEI_ALLOCATE_POOL AllocatePool;
|
EFI_PEI_ALLOCATE_POOL AllocatePool;
|
||||||
|
///
|
||||||
|
/// Copies the contents of one buffer to another buffer.
|
||||||
|
///
|
||||||
EFI_PEI_COPY_MEM CopyMem;
|
EFI_PEI_COPY_MEM CopyMem;
|
||||||
|
///
|
||||||
|
/// Fills a buffer with a specified value.
|
||||||
|
///
|
||||||
EFI_PEI_SET_MEM SetMem;
|
EFI_PEI_SET_MEM SetMem;
|
||||||
//
|
///
|
||||||
// Status Code
|
/// Provides an interface that a PEIM can call to report a status code.
|
||||||
//
|
///
|
||||||
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
|
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
|
||||||
//
|
///
|
||||||
// Reset
|
/// Resets the entire platform.
|
||||||
//
|
///
|
||||||
EFI_PEI_RESET_SYSTEM ResetSystem;
|
EFI_PEI_RESET_SYSTEM ResetSystem;
|
||||||
//
|
///
|
||||||
// (the following interfaces are installed by publishing PEIM)
|
/// Provides an interface that a PEIM can call to execute
|
||||||
//
|
/// an I/O transaction. This interface is installed by provider
|
||||||
// I/O Abstractions
|
/// PEIM by copying the interface into the PEI Service table.
|
||||||
//
|
///
|
||||||
EFI_PEI_CPU_IO_PPI *CpuIo;
|
EFI_PEI_CPU_IO_PPI *CpuIo;
|
||||||
|
///
|
||||||
|
/// Provides an interface that a PEIM can call to execute PCI
|
||||||
|
/// Configuration transactions. This interface is installed by
|
||||||
|
/// provider PEIM by copying the interface into the EFI_PEI_SERVICES table.
|
||||||
|
///
|
||||||
EFI_PEI_PCI_CFG2_PPI *PciCfg;
|
EFI_PEI_PCI_CFG2_PPI *PciCfg;
|
||||||
//
|
///
|
||||||
// Future Installed Services
|
/// Discovers firmware files within a volume by name.
|
||||||
//
|
///
|
||||||
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName;
|
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName;
|
||||||
|
///
|
||||||
|
/// Return information about a particular file.
|
||||||
|
///
|
||||||
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo;
|
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo;
|
||||||
|
///
|
||||||
|
/// Return information about a particular volume.
|
||||||
|
///
|
||||||
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo;
|
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo;
|
||||||
|
///
|
||||||
|
/// Register a driver to be re-loaded when memory is available.
|
||||||
|
///
|
||||||
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
|
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -753,61 +827,61 @@ struct _EFI_PEI_SERVICES {
|
||||||
/// temporary RAM, the stack location and BFV location.
|
/// temporary RAM, the stack location and BFV location.
|
||||||
///
|
///
|
||||||
typedef struct _EFI_SEC_PEI_HAND_OFF {
|
typedef struct _EFI_SEC_PEI_HAND_OFF {
|
||||||
//
|
///
|
||||||
// Size of the data structure.
|
/// Size of the data structure.
|
||||||
//
|
///
|
||||||
UINT16 DataSize;
|
UINT16 DataSize;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Points to the first byte of the boot firmware volume,
|
/// Points to the first byte of the boot firmware volume,
|
||||||
// which the PEI Dispatcher should search for
|
/// which the PEI Dispatcher should search for
|
||||||
// PEI modules.
|
/// PEI modules.
|
||||||
//
|
///
|
||||||
VOID *BootFirmwareVolumeBase;
|
VOID *BootFirmwareVolumeBase;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Size of the boot firmware volume, in bytes.
|
/// Size of the boot firmware volume, in bytes.
|
||||||
//
|
///
|
||||||
UINTN BootFirmwareVolumeSize;
|
UINTN BootFirmwareVolumeSize;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Points to the first byte of the temporary RAM.
|
/// Points to the first byte of the temporary RAM.
|
||||||
//
|
///
|
||||||
VOID *TemporaryRamBase;
|
VOID *TemporaryRamBase;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Size of the temporary RAM, in bytes.
|
/// Size of the temporary RAM, in bytes.
|
||||||
//
|
///
|
||||||
UINTN TemporaryRamSize;
|
UINTN TemporaryRamSize;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Points to the first byte of the temporary RAM
|
/// Points to the first byte of the temporary RAM
|
||||||
// available for use by the PEI Foundation. The area
|
/// available for use by the PEI Foundation. The area
|
||||||
// described by PeiTemporaryRamBase and PeiTemporaryRamSize
|
/// described by PeiTemporaryRamBase and PeiTemporaryRamSize
|
||||||
// must not extend outside beyond the area described by
|
/// must not extend outside beyond the area described by
|
||||||
// TemporaryRamBase & TemporaryRamSize. This area should not
|
/// TemporaryRamBase & TemporaryRamSize. This area should not
|
||||||
// overlap with the area reported by StackBase and
|
/// overlap with the area reported by StackBase and
|
||||||
// StackSize.
|
/// StackSize.
|
||||||
//
|
///
|
||||||
VOID *PeiTemporaryRamBase;
|
VOID *PeiTemporaryRamBase;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Size of the available temporary RAM available for
|
/// Size of the available temporary RAM available for
|
||||||
// use by the PEI Foundation, in bytes.
|
/// use by the PEI Foundation, in bytes.
|
||||||
//
|
///
|
||||||
UINTN PeiTemporaryRamSize;
|
UINTN PeiTemporaryRamSize;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Points to the first byte of the stack.
|
/// Points to the first byte of the stack.
|
||||||
// This are may be part of the memory described by
|
/// This are may be part of the memory described by
|
||||||
// TemporaryRamBase and TemporaryRamSize
|
/// TemporaryRamBase and TemporaryRamSize
|
||||||
// or may be an entirely separate area.
|
/// or may be an entirely separate area.
|
||||||
//
|
///
|
||||||
VOID *StackBase;
|
VOID *StackBase;
|
||||||
|
|
||||||
//
|
///
|
||||||
// Size of the stack, in bytes.
|
/// Size of the stack, in bytes.
|
||||||
//
|
///
|
||||||
UINTN StackSize;
|
UINTN StackSize;
|
||||||
} EFI_SEC_PEI_HAND_OFF;
|
} EFI_SEC_PEI_HAND_OFF;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue