mirror of https://github.com/acidanthera/audk.git
Update MdePkg/Include/Ppi according to code review comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5818 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
e6422a369a
commit
dafa11b191
|
@ -20,7 +20,6 @@
|
|||
#ifndef __PEI_CPUIO_PPI_H__
|
||||
#define __PEI_CPUIO_PPI_H__
|
||||
|
||||
#include <ProcessorBind.h>
|
||||
#include <Pi/PiPeiCis.h>
|
||||
|
||||
#define EFI_PEI_CPU_IO_PPI_INSTALLED_GUID \
|
||||
|
@ -52,12 +51,13 @@ typedef enum {
|
|||
/**
|
||||
Memory-based access services and I/O-based access services.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Width The width of the access. Enumerated in bytes.
|
||||
@param Address The physical address of the access.
|
||||
@param Count The number of accesses to perform.
|
||||
@param Buffer A pointer to the buffer of data.
|
||||
@param PeiServices An indirect pointer to the PEI Services Table
|
||||
published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Width The width of the access. Enumerated in bytes.
|
||||
@param Address The physical address of the access.
|
||||
@param Count The number of accesses to perform.
|
||||
@param Buffer A pointer to the buffer of data.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_YET_AVAILABLE The service has not been installed.
|
||||
|
@ -66,8 +66,8 @@ typedef enum {
|
|||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_MEM)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN EFI_PEI_CPU_IO_PPI_WIDTH Width,
|
||||
IN UINT64 Address,
|
||||
IN UINTN Count,
|
||||
|
@ -80,7 +80,13 @@ EFI_STATUS
|
|||
/// *******************************************************
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// This service provides the various modalities of memory and I/O read.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_MEM Read;
|
||||
///
|
||||
/// This service provides the various modalities of memory and I/O write.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_MEM Write;
|
||||
} EFI_PEI_CPU_IO_PPI_ACCESS;
|
||||
|
||||
|
@ -91,15 +97,15 @@ typedef struct {
|
|||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT8 An 8-bit value is returned from the I/O space.
|
||||
@return An 8-bit value returned from the I/O space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_READ8)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -109,15 +115,15 @@ UINT8
|
|||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT16 A 16-bit value is returned from the I/O space.
|
||||
@return A 16-bit value returned from the I/O space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_READ16)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -127,15 +133,15 @@ UINT16
|
|||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT32 A 32-bit value is returned from the I/O space.
|
||||
@return A 32-bit value returned from the I/O space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_READ32)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -145,15 +151,15 @@ UINT32
|
|||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT64 A 64-bit value is returned from the I/O space.
|
||||
@return A 64-bit value returned from the I/O space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_READ64)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -164,16 +170,14 @@ UINT64
|
|||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_WRITE8)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -184,16 +188,14 @@ VOID
|
|||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_WRITE16)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -204,16 +206,14 @@ VOID
|
|||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_WRITE32)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -224,248 +224,236 @@ VOID
|
|||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_IO_WRITE64)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
);
|
||||
|
||||
/**
|
||||
8-bit Memory read operations.
|
||||
8-bit memory read operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT8 An 8-bit value is returned from the memory space.
|
||||
@return An 8-bit value returned from the memory space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT8
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_READ8)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
16-bit Memory read operations.
|
||||
16-bit memory read operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT16 A 16-bit value is returned from the memory space.
|
||||
@return A 16-bit value returned from the memory space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT16
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_READ16)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
32-bit Memory read operations.
|
||||
32-bit memory read operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT32 A 32-bit value is returned from the memory space.
|
||||
@return A 32-bit value returned from the memory space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT32
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_READ32)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
64-bit Memory read operations.
|
||||
64-bit memory read operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
|
||||
@return UINT64 A 64-bit value is returned from the memory space.
|
||||
@return A 64-bit value returned from the memory space.
|
||||
|
||||
**/
|
||||
typedef
|
||||
UINT64
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_READ64)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address
|
||||
);
|
||||
|
||||
/**
|
||||
8-bit Memory write operations.
|
||||
8-bit memory write operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_WRITE8)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT8 Data
|
||||
);
|
||||
|
||||
/**
|
||||
16-bit Memory write operations.
|
||||
16-bit memory write operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_WRITE16)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT16 Data
|
||||
);
|
||||
|
||||
/**
|
||||
32-bit Memory write operations.
|
||||
32-bit memory write operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_WRITE32)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT32 Data
|
||||
);
|
||||
|
||||
/**
|
||||
64-bit Memory write operations.
|
||||
64-bit memory write operations.
|
||||
|
||||
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
|
||||
@param This Pointer to local data for the interface.
|
||||
@param Address The physical address of the access.
|
||||
@param Data The data to write.
|
||||
|
||||
@return None
|
||||
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
(EFIAPI *EFI_PEI_CPU_IO_PPI_MEM_WRITE64)(
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN CONST EFI_PEI_CPU_IO_PPI *This,
|
||||
IN UINT64 Address,
|
||||
IN UINT64 Data
|
||||
);
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
EFI_PEI_CPU_IO_PPI provides a set of memory and I/O-based services.
|
||||
The perspective of the services is that of the processor, not the bus or system.
|
||||
|
||||
@param Mem
|
||||
Collection of memory-access services.
|
||||
|
||||
@param I/O
|
||||
Collection of I/O-access services.
|
||||
|
||||
@param IoRead8
|
||||
8-bit read service.
|
||||
|
||||
@param IoRead16
|
||||
16-bit read service.
|
||||
|
||||
@param IoRead32
|
||||
32-bit read service.
|
||||
|
||||
@param IoRead64
|
||||
64-bit read service.
|
||||
|
||||
@param IoWrite8
|
||||
8-bit write service.
|
||||
|
||||
@param IoWrite16
|
||||
16-bit write service.
|
||||
|
||||
@param IoWrite32
|
||||
32-bit write service.
|
||||
|
||||
@param IoWrite64
|
||||
64-bit write service.
|
||||
|
||||
@param MemRead8
|
||||
8-bit read service.
|
||||
|
||||
@param MemRead16
|
||||
16-bit read service.
|
||||
|
||||
@param MemRead32
|
||||
32-bit read service.
|
||||
|
||||
@param MemRead64
|
||||
64-bit read service.
|
||||
|
||||
@param MemWrite8
|
||||
8-bit write service.
|
||||
|
||||
@param MemWrite16
|
||||
16-bit write service.
|
||||
|
||||
@param MemWrite32
|
||||
32-bit write service.
|
||||
|
||||
@param MemWrite64
|
||||
64-bit write service.
|
||||
|
||||
**/
|
||||
///
|
||||
/// EFI_PEI_CPU_IO_PPI provides a set of memory and I/O-based services.
|
||||
/// The perspective of the services is that of the processor, not the bus or system.
|
||||
///
|
||||
struct _EFI_PEI_CPU_IO_PPI {
|
||||
///
|
||||
/// Collection of memory-access services.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_ACCESS Mem;
|
||||
///
|
||||
/// Collection of I/O-access services.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_ACCESS Io;
|
||||
///
|
||||
/// 8-bit I/O read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_READ8 IoRead8;
|
||||
///
|
||||
/// 16-bit I/O read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_READ16 IoRead16;
|
||||
///
|
||||
/// 32-bit I/O read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_READ32 IoRead32;
|
||||
///
|
||||
/// 64-bit I/O read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_READ64 IoRead64;
|
||||
///
|
||||
/// 8-bit I/O write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_WRITE8 IoWrite8;
|
||||
///
|
||||
/// 16-bit I/O write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_WRITE16 IoWrite16;
|
||||
///
|
||||
/// 32-bit I/O write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_WRITE32 IoWrite32;
|
||||
///
|
||||
/// 64-bit I/O write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_IO_WRITE64 IoWrite64;
|
||||
///
|
||||
/// 8-bit memory read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_READ8 MemRead8;
|
||||
///
|
||||
/// 16-bit memory read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_READ16 MemRead16;
|
||||
///
|
||||
/// 32-bit memory read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_READ32 MemRead32;
|
||||
///
|
||||
/// 64-bit memory read service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_READ64 MemRead64;
|
||||
///
|
||||
/// 8-bit memory write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_WRITE8 MemWrite8;
|
||||
///
|
||||
/// 16-bit memory write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_WRITE16 MemWrite16;
|
||||
///
|
||||
/// 32-bit memory write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_WRITE32 MemWrite32;
|
||||
///
|
||||
/// 64-bit memory write service.
|
||||
///
|
||||
EFI_PEI_CPU_IO_PPI_MEM_WRITE64 MemWrite64;
|
||||
};
|
||||
|
||||
|
|
|
@ -30,48 +30,44 @@ typedef struct _EFI_PEI_DECOMPRESS_PPI EFI_PEI_DECOMPRESS_PPI;
|
|||
as a series of standard PI Firmware File Sections. The
|
||||
required memory is allocated from permanent memory.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_DECOMPRESS_PEI PPI. InputSection Points to
|
||||
the compressed section.
|
||||
|
||||
@param OutputBuffer Holds the returned pointer to the
|
||||
decompressed sections.
|
||||
|
||||
@param OutputSize Holds the returned size of the decompress
|
||||
section streams.
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_DECOMPRESS_PEI PPI.
|
||||
@param InputSection Points to the compressed section.
|
||||
@param OutputBuffer Holds the returned pointer to the
|
||||
decompressed sections.
|
||||
@param OutputSize Holds the returned size of the decompress
|
||||
section streams.
|
||||
|
||||
@retval EFI_SUCCESS The section was decompressed
|
||||
successfully. OutputBuffer contains the
|
||||
resulting data and OutputSize contains
|
||||
the resulting size.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Unable to allocate sufficient
|
||||
memory to hold the decompressed data.
|
||||
|
||||
@retval EFI_UNSUPPORTED The compression type specified
|
||||
in the compression header is unsupported.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
|
||||
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
|
||||
IN CONST EFI_COMPRESSION_SECTION *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize
|
||||
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
|
||||
IN CONST EFI_COMPRESSION_SECTION *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
This PPI's single member function decompresses a compression
|
||||
encapsulated section. It is used by the PEI Foundation to
|
||||
process sectioned files. Prior to the installation of this PPI,
|
||||
compression sections will be ignored.
|
||||
|
||||
@param Decompress Decompress a single compression section in
|
||||
a firmware file.
|
||||
**/
|
||||
///
|
||||
/// This PPI's single member function decompresses a compression
|
||||
/// encapsulated section. It is used by the PEI Foundation to
|
||||
/// process sectioned files. Prior to the installation of this PPI,
|
||||
/// compression sections will be ignored.
|
||||
///
|
||||
struct _EFI_PEI_DECOMPRESS_PPI {
|
||||
///
|
||||
/// Decompress a single compression section in a firmware file.
|
||||
///
|
||||
EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
|
||||
};
|
||||
|
||||
|
|
|
@ -31,6 +31,17 @@ typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI;
|
|||
The architectural PPI that the PEI Foundation invokes when
|
||||
there are no additional PEIMs to invoke.
|
||||
|
||||
This function is invoked by the PEI Foundation.
|
||||
The PEI Foundation will invoke this service when there are
|
||||
no additional PEIMs to invoke in the system.
|
||||
If this PPI does not exist, it is an error condition and
|
||||
an ill-formed firmware set. The DXE IPL PPI should never
|
||||
return after having been invoked by the PEI Foundation.
|
||||
The DXE IPL PPI can do many things internally, including the following:
|
||||
- Invoke the DXE entry point from a firmware volume
|
||||
- Invoke the recovery processing modules
|
||||
- Invoke the S3 resume modules
|
||||
|
||||
@param This Pointer to the DXE IPL PPI instance
|
||||
@param PeiServices Pointer to the PEI Services Table.
|
||||
@param HobList Pointer to the list of Hand-Off Block (HOB) entries.
|
||||
|
@ -43,22 +54,20 @@ typedef struct _EFI_DXE_IPL_PPI EFI_DXE_IPL_PPI;
|
|||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DXE_IPL_ENTRY)(
|
||||
IN EFI_DXE_IPL_PPI *This,
|
||||
IN CONST EFI_DXE_IPL_PPI *This,
|
||||
IN EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PEI_HOB_POINTERS HobList
|
||||
);
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
Final service to be invoked by the PEI Foundation.
|
||||
The DXE IPL PPI is responsible for locating and loading the DXE Foundation.
|
||||
The DXE IPL PPI may use PEI services to locate and load the DXE Foundation.
|
||||
|
||||
@param Entry
|
||||
The entry point to the DXE IPL PPI.
|
||||
|
||||
**/
|
||||
///
|
||||
/// Final service to be invoked by the PEI Foundation.
|
||||
/// The DXE IPL PPI is responsible for locating and loading the DXE Foundation.
|
||||
/// The DXE IPL PPI may use PEI services to locate and load the DXE Foundation.
|
||||
///
|
||||
struct _EFI_DXE_IPL_PPI {
|
||||
///
|
||||
/// The entry point to the DXE IPL PPI.
|
||||
///
|
||||
EFI_DXE_IPL_ENTRY Entry;
|
||||
};
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __END_OF_PEI_SIGNAL_PPI_H__
|
||||
#define __END_OF_PEI_SIGNAL_PPI_H__
|
||||
#ifndef __END_OF_PEI_PHASE_PPI_H__
|
||||
#define __END_OF_PEI_PHASE_PPI_H__
|
||||
|
||||
#define EFI_PEI_END_OF_PEI_PHASE_PPI_GUID \
|
||||
{ \
|
||||
|
|
|
@ -21,10 +21,9 @@
|
|||
|
||||
///
|
||||
/// The GUID for this PPI is the same as the firmware volume format GUID.
|
||||
/// can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined format. The
|
||||
/// EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.
|
||||
/// The FV format can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for a user-defined
|
||||
/// format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.
|
||||
///
|
||||
|
||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
|
||||
|
||||
|
||||
|
@ -40,26 +39,25 @@ typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
|
|||
from the EFI_FIRMWARE_VOLUME_INFO_PPI.
|
||||
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI
|
||||
@param Buffer Points to the start of the buffer.
|
||||
@param BufferSize Size of the buffer.
|
||||
@param FvHandle Points to the returned firmware volume
|
||||
handle. The firmware volume handle must
|
||||
be unique within the system.
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param Buffer Points to the start of the buffer.
|
||||
@param BufferSize Size of the buffer.
|
||||
@param FvHandle Points to the returned firmware volume
|
||||
handle. The firmware volume handle must
|
||||
be unique within the system.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Firmware volume handle.
|
||||
@retval EFI_SUCCESS Firmware volume handle created.
|
||||
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_PROCESS_FV)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST VOID *Buffer,
|
||||
IN CONST UINTN BufferSize,
|
||||
OUT EFI_PEI_FV_HANDLE *FvHandle
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_PEI_FV_HANDLE *FvHandle
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -68,29 +66,29 @@ EFI_STATUS
|
|||
This service enables PEI modules to discover additional firmware files.
|
||||
The FileHandle must be unique within the system.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI. SearchType A filter
|
||||
to find only files of this type. Type
|
||||
EFI_FV_FILETYPE_ALL causes no filtering to be
|
||||
done.
|
||||
@param FvHandle Handle of firmware volume in which to
|
||||
search.
|
||||
|
||||
@param FileHandle Points to the current handle from which to
|
||||
begin searching or NULL to start at the
|
||||
beginning of the firmware volume. Updated
|
||||
upon return to reflect the file found.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param SearchType A filter to find only files of this type. Type
|
||||
EFI_FV_FILETYPE_ALL causes no filtering to be
|
||||
done.
|
||||
@param FvHandle Handle of firmware volume in which to
|
||||
search.
|
||||
@param FileHandle Points to the current handle from which to
|
||||
begin searching or NULL to start at the
|
||||
beginning of the firmware volume. Updated
|
||||
upon return to reflect the file found.
|
||||
|
||||
@retval EFI_SUCCESS The file was found.
|
||||
@retval EFI_NOT_FOUND The file was not found. FileHandle contains NULL.
|
||||
|
||||
**/
|
||||
typedef EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_FV_FILETYPE SearchType,
|
||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_FV_FILETYPE SearchType,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
|
||||
|
@ -100,26 +98,21 @@ typedef EFI_STATUS
|
|||
This service searches for files with a specific name, within
|
||||
either the specified firmware volume or all firmware volumes.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param FileName A pointer to the name of the file to find
|
||||
within the firmware volume.
|
||||
@param FvHandle Upon entry, the pointer to the firmware
|
||||
volume to search or NULL if all firmware
|
||||
volumes should be searched. Upon exit, the
|
||||
actual firmware volume in which the file was
|
||||
found.
|
||||
@param FileHandle Upon exit, points to the found file's
|
||||
handle or NULL if it could not be found.
|
||||
|
||||
@param FileName A pointer to the name of the file to find
|
||||
within the firmware volume.
|
||||
|
||||
@param FvHandle Upon entry, the pointer to the firmware
|
||||
volume to search or NULL if all firmware
|
||||
volumes should be searched. Upon exit, the
|
||||
actual firmware volume in which the file was
|
||||
found.
|
||||
|
||||
@param FileHandle Upon exit, points to the found file's
|
||||
handle or NULL if it could not be found.
|
||||
|
||||
@retval EFI_SUCCESS File was found.
|
||||
|
||||
@param EFI_NOT_FOUND File was not found.
|
||||
|
||||
@param EFI_INVALID_PARAMETER FvHandle or FileHandle or
|
||||
@retval EFI_SUCCESS File was found.
|
||||
@retval EFI_NOT_FOUND File was not found.
|
||||
@retval EFI_INVALID_PARAMETER FvHandle or FileHandle or
|
||||
FileName was NULL.
|
||||
|
||||
|
||||
|
@ -127,10 +120,10 @@ typedef EFI_STATUS
|
|||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_GUID *FileName,
|
||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_GUID *FileName,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
|
||||
|
@ -141,109 +134,105 @@ EFI_STATUS
|
|||
file, including its file name, type, attributes, starting
|
||||
address and size.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
|
||||
@param FileHandle Handle of the file.
|
||||
|
||||
@param FileInfo Upon exit, points to the file????s
|
||||
information.
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param FileHandle Handle of the file.
|
||||
@param FileInfo Upon exit, points to the file's
|
||||
information.
|
||||
|
||||
@retval EFI_SUCCESS File information returned.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
||||
represent a valid file.
|
||||
EFI_INVALID_PARAMETER If
|
||||
FileInfo is NULL
|
||||
@retval EFI_INVALID_PARAMETER If FileInfo is NULL.
|
||||
|
||||
**/
|
||||
|
||||
typedef
|
||||
EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_FILE_INFO)(
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_GET_FILE_INFO)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_FV_FILE_INFO *FileInfo
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_FV_FILE_INFO *FileInfo
|
||||
);
|
||||
|
||||
/**
|
||||
This function returns information about the firmware
|
||||
volume.
|
||||
This function returns information about the firmware volume.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
|
||||
@param FvHandle Handle to the firmware handle.
|
||||
|
||||
@param VolumeInfo Points to the returned firmware volume
|
||||
information.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Information returned
|
||||
successfully.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER FvHandle does not indicate a
|
||||
valid firmware volume or VolumeInfo is NULL
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param FvHandle Handle to the firmware handle.
|
||||
@param VolumeInfo Points to the returned firmware volume
|
||||
information.
|
||||
|
||||
@retval EFI_SUCCESS Information returned successfully.
|
||||
@retval EFI_INVALID_PARAMETER FvHandle does not indicate a valid
|
||||
firmware volume or VolumeInfo is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_INFO)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_FV_INFO *VolumeInfo
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_GET_INFO)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
OUT EFI_FV_INFO *VolumeInfo
|
||||
);
|
||||
|
||||
/**
|
||||
Find the next matching section in the firmware file.
|
||||
|
||||
This service enables PEI modules to discover sections of a given type within a valid file.
|
||||
This service enables PEI modules to discover sections
|
||||
of a given type within a valid file.
|
||||
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
|
||||
@param SearchType A filter to find only sections of this
|
||||
type.
|
||||
|
||||
@param FileHandle Handle of firmware file in which to
|
||||
search.
|
||||
|
||||
@param SectionData Updated upon return to point to the
|
||||
section found.
|
||||
@param This Points to this instance of the
|
||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||
@param SearchType A filter to find only sections of this
|
||||
type.
|
||||
@param FileHandle Handle of firmware file in which to
|
||||
search.
|
||||
@param SectionData Updated upon return to point to the
|
||||
section found.
|
||||
|
||||
@retval EFI_SUCCESS Section was found.
|
||||
|
||||
@retval EFI_NOT_FOUND Section of the specified type was not
|
||||
found. SectionData contains NULL.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_SECTION)(
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_SECTION_TYPE SearchType,
|
||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT VOID **SectionData
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN EFI_SECTION_TYPE SearchType,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT VOID **SectionData
|
||||
);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@par Ppi Description:
|
||||
This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.
|
||||
|
||||
@param ProcessVolume Process a firmware volume and create a volume handle.
|
||||
@param FindFileByType Find all files of a specific type.
|
||||
@param FindFileByName Find the file with a specific name.
|
||||
@param GetFileInfo Return the information about a specific file
|
||||
@param GetVolumeInfo Return the firmware volume attributes.
|
||||
@param FindSectionByType Find all sections of a specific type.
|
||||
|
||||
**/
|
||||
///
|
||||
/// This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.
|
||||
///
|
||||
struct _EFI_PEI_FIRMWARE_VOLUME_PPI {
|
||||
///
|
||||
/// Process a firmware volume and create a volume handle.
|
||||
///
|
||||
EFI_PEI_FV_PROCESS_FV ProcessVolume;
|
||||
///
|
||||
/// Find all files of a specific type.
|
||||
///
|
||||
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;
|
||||
///
|
||||
/// Find the file with a specific name.
|
||||
///
|
||||
EFI_PEI_FV_FIND_FILE_NAME FindFileByName;
|
||||
///
|
||||
/// Return the information about a specific file.
|
||||
///
|
||||
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;
|
||||
///
|
||||
/// Return the firmware volume attributes.
|
||||
///
|
||||
EFI_PEI_FV_GET_INFO GetVolumeInfo;
|
||||
///
|
||||
/// Find all sections of a specific type.
|
||||
///
|
||||
EFI_PEI_FV_FIND_SECTION FindSectionByType;
|
||||
} ;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPeiFirmwareVolumePpiGuid;
|
||||
|
||||
|
|
|
@ -26,39 +26,40 @@
|
|||
|
||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
This PPI describes the location and format of a firmware volume.
|
||||
The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
|
||||
a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is
|
||||
the PI Firmware Volume format.
|
||||
|
||||
@param FvFormat Unique identifier of the format of the memory-mapped firmware volume.
|
||||
|
||||
@param FvInfo Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to
|
||||
process the volume. The format of this buffer is
|
||||
specific to the FvFormat. For memory-mapped firmware volumes,
|
||||
this typically points to the first byte of the firmware volume.
|
||||
|
||||
@param FvInfoSize Size of the data provided by FvInfo. For memory-mapped firmware volumes,
|
||||
this is typically the size of the firmware volume.
|
||||
|
||||
@param ParentFvName If the firmware volume originally came from a firmware file,
|
||||
then these point to the parent firmware volume
|
||||
name and firmware volume file. If it did not originally come
|
||||
from a firmware file, these should be NULL.
|
||||
|
||||
@param ParentFileName If the firmware volume originally came from a firmware file,
|
||||
then these point to the parent firmware volume
|
||||
name and firmware volume file. If it did not originally come
|
||||
from a firmware file, these should be NULL.
|
||||
|
||||
**/
|
||||
///
|
||||
/// This PPI describes the location and format of a firmware volume.
|
||||
/// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
|
||||
/// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is
|
||||
/// the PI Firmware Volume format.
|
||||
///
|
||||
struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
|
||||
///
|
||||
/// Unique identifier of the format of the memory-mapped firmware volume.
|
||||
///
|
||||
EFI_GUID FvFormat;
|
||||
///
|
||||
/// Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to process
|
||||
/// the volume. The format of this buffer is specific to the FvFormat.
|
||||
/// For memory-mapped firmware volumes, this typically points to the first byte
|
||||
/// of the firmware volume.
|
||||
///
|
||||
VOID *FvInfo;
|
||||
///
|
||||
/// Size of the data provided by FvInfo. For memory-mapped firmware volumes,
|
||||
/// this is typically the size of the firmware volume.
|
||||
///
|
||||
UINT32 FvInfoSize;
|
||||
///
|
||||
/// If the firmware volume originally came from a firmware file, then these
|
||||
/// point to the parent firmware volume name and firmware volume file.
|
||||
/// If it did not originally come from a firmware file, these should be NULL.
|
||||
///
|
||||
EFI_GUID *ParentFvName;
|
||||
///
|
||||
/// If the firmware volume originally came from a firmware file, then these
|
||||
/// point to the parent firmware volume name and firmware volume file.
|
||||
/// If it did not originally come from a firmware file, these should be NULL.
|
||||
///
|
||||
EFI_GUID *ParentFileName;
|
||||
};
|
||||
|
||||
|
|
|
@ -51,75 +51,54 @@ typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_E
|
|||
section's contents. Otherwise, *Buffer must be allocated
|
||||
from PEI permanent memory.
|
||||
|
||||
@param This Indicates the
|
||||
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI instance.
|
||||
Buffer containing the input GUIDed section to be
|
||||
processed. OutputBuffer OutputBuffer is
|
||||
allocated from PEI permanent memory and contains
|
||||
the new section stream.
|
||||
@param This Indicates the EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI
|
||||
instance.
|
||||
@param InputSection Buffer containing the input GUIDed section to be
|
||||
processed.
|
||||
@param OutputBuffer *OutputBuffer is allocated from PEI permanent memory
|
||||
and contains the new section stream.
|
||||
@param OutputSize A pointer to a caller-allocated UINTN in which
|
||||
the size of *OutputBuffer allocation is stored.
|
||||
If the function returns anything other than
|
||||
EFI_SUCCESS, the value of *OutputSize is undefined.
|
||||
@param AuthenticationStatus A pointer to a caller-allocated UINT32 that indicates
|
||||
the authentication status of the output buffer.
|
||||
If the input section's
|
||||
GuidedSectionHeader.Attributes field has the
|
||||
EFI_GUIDED_SECTION_AUTH_STATUS_VALID bit as clear,
|
||||
*AuthenticationStatus must return zero. These bits
|
||||
reflect the status of the extraction operation.
|
||||
If the function returns anything other than EFI_SUCCESS,
|
||||
the value of *AuthenticationStatus is undefined.
|
||||
|
||||
@param OutputSize A pointer to a caller-allocated
|
||||
UINTN in which the size of *OutputBuffer
|
||||
allocation is stored. If the function
|
||||
returns anything other than EFI_SUCCESS,
|
||||
the value of OutputSize is undefined.
|
||||
|
||||
@param AuthenticationStatus A pointer to a caller-allocated
|
||||
UINT32 that indicates the
|
||||
authentication status of the
|
||||
output buffer. If the input
|
||||
section's GuidedSectionHeader.
|
||||
Attributes field has the
|
||||
EFI_GUIDED_SECTION_AUTH_STATUS_VALID
|
||||
bit as clear,
|
||||
AuthenticationStatus must return
|
||||
zero. These bits reflect the
|
||||
status of the extraction
|
||||
operation. If the function
|
||||
returns anything other than
|
||||
EFI_SUCCESS, the value of
|
||||
AuthenticationStatus is
|
||||
undefined.
|
||||
|
||||
@retval EFI_SUCCESS The InputSection was
|
||||
successfully processed and the
|
||||
@retval EFI_SUCCESS The InputSection was successfully processed and the
|
||||
section contents were returned.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient
|
||||
resources to process the request.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The GUID in InputSection does
|
||||
not match this instance of the
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process the request.
|
||||
@retval EFI_INVALID_PARAMETER The GUID in InputSection does not match this instance of the
|
||||
GUIDed Section Extraction PPI.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_EXTRACT_GUIDED_SECTION)(
|
||||
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
|
||||
IN CONST VOID *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
|
||||
IN CONST VOID *InputSection,
|
||||
OUT VOID **OutputBuffer,
|
||||
OUT UINTN *OutputSize,
|
||||
OUT UINT32 *AuthenticationStatus
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
If a GUID-defined section is encountered when doing section extraction,
|
||||
the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance
|
||||
calls the appropriate instance of the GUIDed Section
|
||||
Extraction PPI to extract the section stream contained
|
||||
therein.
|
||||
|
||||
|
||||
@param ExtractSection Takes the GUIDed section as input and
|
||||
produces the section stream data. See
|
||||
the ExtractSection() function
|
||||
description.
|
||||
|
||||
**/
|
||||
///
|
||||
/// If a GUID-defined section is encountered when doing section extraction,
|
||||
/// the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance
|
||||
/// calls the appropriate instance of the GUIDed Section
|
||||
/// Extraction PPI to extract the section stream contained
|
||||
/// therein.
|
||||
///
|
||||
struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI {
|
||||
///
|
||||
/// Takes the GUIDed section as input and
|
||||
/// produces the section stream data.
|
||||
///
|
||||
EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection;
|
||||
};
|
||||
|
||||
|
|
|
@ -27,70 +27,48 @@ typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI;
|
|||
/**
|
||||
Loads a PEIM into memory for subsequent execution.
|
||||
|
||||
This service is the single member function of EFI_LOAD_FILE_PPI. This service separates
|
||||
image loading and relocating from the PEI Foundation.
|
||||
This service is the single member function of EFI_LOAD_FILE_PPI.
|
||||
This service separates image loading and relocating from the PEI Foundation.
|
||||
|
||||
@param This Interface pointer that implements
|
||||
the Load File PPI instance.
|
||||
|
||||
@param FileHandle File handle of the file to load.
|
||||
Type EFI_PEI_FILE_HANDLE is defined in
|
||||
FfsFindNextFile().
|
||||
|
||||
@param ImageAddress Pointer to the address of the
|
||||
loaded image.
|
||||
|
||||
@param ImageSize Pointer to the size of the loaded
|
||||
image.
|
||||
|
||||
@param EntryPoint Pointer to the entry point of the
|
||||
image.
|
||||
|
||||
@param AuthenticationState On exit, points to the attestation
|
||||
authentication state of the image
|
||||
or 0 if no attestation was
|
||||
performed. The format of
|
||||
AuthenticationState is defined in
|
||||
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI.ExtractSection()
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@param This Interface pointer that implements
|
||||
the Load File PPI instance.
|
||||
@param FileHandle File handle of the file to load.
|
||||
@param ImageAddress Pointer to the address of the loaded image.
|
||||
@param ImageSize Pointer to the size of the loaded image.
|
||||
@param EntryPoint Pointer to the entry point of the image.
|
||||
@param AuthenticationState On exit, points to the attestation
|
||||
authentication state of the image
|
||||
or 0 if no attestation was performed.
|
||||
|
||||
@retval EFI_SUCCESS The image was loaded successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES There was not enough memory.
|
||||
|
||||
@retval EFI_LOAD_ERROR There was no supported image in
|
||||
the file.
|
||||
@retval EFI_INVALID_PARAMETER EntryPoint was NULL.
|
||||
Or FileHandle was not a valid firmware file handle.
|
||||
@retval EFI_NOT_SUPPORTED An image requires relocations or
|
||||
is not memory mapped.
|
||||
@retval EFI_LOAD_ERROR There was no supported image in the file.
|
||||
@retval EFI_INVALID_PARAMETER FileHandle was not a valid firmware file handle.
|
||||
@retval EFI_INVALID_PARAMETER EntryPoint was NULL.
|
||||
@retval EFI_NOT_SUPPORTED An image requires relocations or is not
|
||||
memory mapped.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_LOAD_FILE)(
|
||||
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
|
||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
|
||||
OUT UINT64 *ImageSize,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
|
||||
OUT UINT32 *AuthenticationState
|
||||
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
|
||||
OUT UINT64 *ImageSize,
|
||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
|
||||
OUT UINT32 *AuthenticationState
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
This PPI is a pointer to the Load File service.
|
||||
This service will be published by a PEIM. The PEI Foundation
|
||||
will use this service to launch the known PEI module images.
|
||||
|
||||
|
||||
@param LoadFile Loads a PEIM into memory for subsequent
|
||||
execution. See the LoadFile() function
|
||||
description.
|
||||
|
||||
**/
|
||||
///
|
||||
/// This PPI is a pointer to the Load File service.
|
||||
/// This service will be published by a PEIM. The PEI Foundation
|
||||
/// will use this service to launch the known PEI module images.
|
||||
///
|
||||
struct _EFI_PEI_LOAD_FILE_PPI {
|
||||
///
|
||||
/// Loads a PEIM into memory for subsequent execution.
|
||||
///
|
||||
EFI_PEI_LOAD_FILE LoadFile;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/** @file
|
||||
The file descript the PPI which notifies other drivers
|
||||
The file describes the PPI which notifies other drivers
|
||||
of the PEIM being initialized by the PEI Dispatcher.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation
|
||||
|
@ -26,23 +26,24 @@
|
|||
|
||||
typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
|
||||
|
||||
/**
|
||||
@par Ppi Description:
|
||||
This interface is installed by the PEI Dispatcher after the image has been
|
||||
loaded and after all security checks have been performed,
|
||||
to notify other PEIMs of the files which are being loaded.
|
||||
|
||||
@param ImageAddress Address of the image at the address where it will be executed.
|
||||
|
||||
@param ImageSize Size of the image as it will be executed.
|
||||
|
||||
@param FileHandle File handle from which the image was loaded. Can be NULL,
|
||||
indicating the image was not loaded from a handle.
|
||||
|
||||
**/
|
||||
///
|
||||
/// This interface is installed by the PEI Dispatcher after the image has been
|
||||
/// loaded and after all security checks have been performed,
|
||||
/// to notify other PEIMs of the files which are being loaded.
|
||||
///
|
||||
struct _EFI_PEI_LOADED_IMAGE_PPI {
|
||||
///
|
||||
/// Address of the image at the address where it will be executed.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS ImageAddress;
|
||||
///
|
||||
/// Size of the image as it will be executed.
|
||||
///
|
||||
UINT64 ImageSize;
|
||||
///
|
||||
/// File handle from which the image was loaded.
|
||||
/// Can be NULL, indicating the image was not loaded from a handle.
|
||||
///
|
||||
EFI_PEI_FILE_HANDLE FileHandle;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue