mirror of https://github.com/acidanthera/audk.git
Removed tabs and fixed some minor coding style issues. Also fixed typo in EFI_PEI_ENTRY_POINT
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2668 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
00a8a5bfbb
commit
00edb2182b
|
@ -20,21 +20,21 @@
|
||||||
#ifndef __PI_BOOT_MODE_H__
|
#ifndef __PI_BOOT_MODE_H__
|
||||||
#define __PI_BOOT_MODE_H__
|
#define __PI_BOOT_MODE_H__
|
||||||
|
|
||||||
typedef UINT32 EFI_BOOT_MODE;
|
typedef UINT32 EFI_BOOT_MODE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// 0x21 - 0xf..f are reserved.
|
// 0x21 - 0xf..f are reserved.
|
||||||
//
|
//
|
||||||
#define BOOT_WITH_FULL_CONFIGURATION 0x00
|
#define BOOT_WITH_FULL_CONFIGURATION 0x00
|
||||||
#define BOOT_WITH_MINIMAL_CONFIGURATION 0x01
|
#define BOOT_WITH_MINIMAL_CONFIGURATION 0x01
|
||||||
#define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES 0x02
|
#define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES 0x02
|
||||||
#define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03
|
#define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03
|
||||||
#define BOOT_WITH_DEFAULT_SETTINGS 0x04
|
#define BOOT_WITH_DEFAULT_SETTINGS 0x04
|
||||||
#define BOOT_ON_S4_RESUME 0x05
|
#define BOOT_ON_S4_RESUME 0x05
|
||||||
#define BOOT_ON_S5_RESUME 0x06
|
#define BOOT_ON_S5_RESUME 0x06
|
||||||
#define BOOT_ON_S2_RESUME 0x10
|
#define BOOT_ON_S2_RESUME 0x10
|
||||||
#define BOOT_ON_S3_RESUME 0x11
|
#define BOOT_ON_S3_RESUME 0x11
|
||||||
#define BOOT_ON_FLASH_UPDATE 0x12
|
#define BOOT_ON_FLASH_UPDATE 0x12
|
||||||
#define BOOT_IN_RECOVERY_MODE 0x20
|
#define BOOT_IN_RECOVERY_MODE 0x20
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -190,7 +190,6 @@ EFI_STATUS
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_SET_MEMORY_SPACE_ATTRIBUTES) (
|
(EFIAPI *EFI_SET_MEMORY_SPACE_ATTRIBUTES) (
|
||||||
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||||
|
@ -351,7 +350,9 @@ EFI_STATUS
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_DISPATCH) (VOID)
|
(EFIAPI *EFI_DISPATCH) (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -410,8 +411,8 @@ EFI_STATUS
|
||||||
//
|
//
|
||||||
// DXE Services Table
|
// DXE Services Table
|
||||||
//
|
//
|
||||||
#define DXE_SERVICES_SIGNATURE 0x565245535f455844
|
#define DXE_SERVICES_SIGNATURE 0x565245535f455844
|
||||||
#define DXE_SERVICES_REVISION ((1<<16) | (00)
|
#define DXE_SERVICES_REVISION ((1<<16) | (00)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
|
|
|
@ -119,9 +119,9 @@ typedef EFI_COMMON_SECTION_HEADER EFI_COMPATIBILITY16_SECTION;
|
||||||
// section data is compressed.
|
// section data is compressed.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||||
UINT32 UncompressedLength;
|
UINT32 UncompressedLength;
|
||||||
UINT8 CompressionType;
|
UINT8 CompressionType;
|
||||||
} EFI_COMPRESSION_SECTION;
|
} EFI_COMPRESSION_SECTION;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -138,8 +138,8 @@ typedef EFI_COMMON_SECTION_HEADER EFI_FIRMWARE_VOLUME_IMAGE_SECTION;
|
||||||
// Leaf section which contains a single GUID.
|
// Leaf section which contains a single GUID.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||||
EFI_GUID SubTypeGuid;
|
EFI_GUID SubTypeGuid;
|
||||||
} EFI_FREEFORM_SUBTYPE_GUID_SECTION;
|
} EFI_FREEFORM_SUBTYPE_GUID_SECTION;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -151,10 +151,10 @@ typedef struct {
|
||||||
// Leaf section which is encapsulation defined by specific GUID
|
// Leaf section which is encapsulation defined by specific GUID
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||||
EFI_GUID SectionDefinitionGuid;
|
EFI_GUID SectionDefinitionGuid;
|
||||||
UINT16 DataOffset;
|
UINT16 DataOffset;
|
||||||
UINT16 Attributes;
|
UINT16 Attributes;
|
||||||
} EFI_GUID_DEFINED_SECTION;
|
} EFI_GUID_DEFINED_SECTION;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -183,12 +183,12 @@ typedef EFI_COMMON_SECTION_HEADER EFI_RAW_SECTION;
|
||||||
// is human readable file name.
|
// is human readable file name.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Array of unicode string.
|
// Array of unicode string.
|
||||||
//
|
//
|
||||||
CHAR16 FileNameString[1];
|
CHAR16 FileNameString[1];
|
||||||
} EFI_USER_INTERFACE_SECTION;
|
} EFI_USER_INTERFACE_SECTION;
|
||||||
|
|
||||||
|
|
||||||
|
@ -197,9 +197,9 @@ typedef struct {
|
||||||
// an optional unicode string that represent the file revision.
|
// an optional unicode string that represent the file revision.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_COMMON_SECTION_HEADER CommonHeader;
|
EFI_COMMON_SECTION_HEADER CommonHeader;
|
||||||
UINT16 BuildNumber;
|
UINT16 BuildNumber;
|
||||||
CHAR16 VersionString[1];
|
CHAR16 VersionString[1];
|
||||||
} EFI_VERSION_SECTION;
|
} EFI_VERSION_SECTION;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,16 +23,16 @@
|
||||||
//
|
//
|
||||||
// EFI_FV_FILE_ATTRIBUTES
|
// EFI_FV_FILE_ATTRIBUTES
|
||||||
//
|
//
|
||||||
typedef UINT32 EFI_FV_FILE_ATTRIBUTES;
|
typedef UINT32 EFI_FV_FILE_ATTRIBUTES;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Value of EFI_FV_FILE_ATTRIBUTES.
|
// Value of EFI_FV_FILE_ATTRIBUTES.
|
||||||
//
|
//
|
||||||
#define EFI_FV_FILE_ATTRIB_ALIGNMENT 0x0000001F
|
#define EFI_FV_FILE_ATTRIB_ALIGNMENT 0x0000001F
|
||||||
#define EFI_FV_FILE_ATTRIB_FIXED 0x00000100
|
#define EFI_FV_FILE_ATTRIB_FIXED 0x00000100
|
||||||
#define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED 0x00000200
|
#define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED 0x00000200
|
||||||
|
|
||||||
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Attributes bit definitions
|
// Attributes bit definitions
|
||||||
|
@ -96,16 +96,16 @@ typedef struct {
|
||||||
// Describes the features and layout of the firmware volume.
|
// Describes the features and layout of the firmware volume.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT8 ZeroVector[16];
|
UINT8 ZeroVector[16];
|
||||||
EFI_GUID FileSystemGuid;
|
EFI_GUID FileSystemGuid;
|
||||||
UINT64 FvLength;
|
UINT64 FvLength;
|
||||||
UINT32 Signature;
|
UINT32 Signature;
|
||||||
EFI_FVB_ATTRIBUTES Attributes;
|
EFI_FVB_ATTRIBUTES Attributes;
|
||||||
UINT16 HeaderLength;
|
UINT16 HeaderLength;
|
||||||
UINT16 Checksum;
|
UINT16 Checksum;
|
||||||
UINT16 ExtHeaderOffset;
|
UINT16 ExtHeaderOffset;
|
||||||
UINT8 Reserved[1];
|
UINT8 Reserved[1];
|
||||||
UINT8 Revision;
|
UINT8 Revision;
|
||||||
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
|
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
|
||||||
} EFI_FIRMWARE_VOLUME_HEADER;
|
} EFI_FIRMWARE_VOLUME_HEADER;
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
/* @file
|
/* @file
|
||||||
HOB related definitions in PI.
|
HOB related definitions in PI.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2007, Intel Corporation
|
Copyright (c) 2006 - 2007, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name: PiHob.h
|
Module Name: PiHob.h
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
Version 1.0.
|
Version 1.0.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -23,26 +23,26 @@
|
||||||
//
|
//
|
||||||
// HobType of EFI_HOB_GENERIC_HEADER.
|
// HobType of EFI_HOB_GENERIC_HEADER.
|
||||||
//
|
//
|
||||||
#define EFI_HOB_TYPE_HANDOFF 0x0001
|
#define EFI_HOB_TYPE_HANDOFF 0x0001
|
||||||
#define EFI_HOB_TYPE_MEMORY_ALLOCATION 0x0002
|
#define EFI_HOB_TYPE_MEMORY_ALLOCATION 0x0002
|
||||||
#define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR 0x0003
|
#define EFI_HOB_TYPE_RESOURCE_DESCRIPTOR 0x0003
|
||||||
#define EFI_HOB_TYPE_GUID_EXTENSION 0x0004
|
#define EFI_HOB_TYPE_GUID_EXTENSION 0x0004
|
||||||
#define EFI_HOB_TYPE_FV 0x0005
|
#define EFI_HOB_TYPE_FV 0x0005
|
||||||
#define EFI_HOB_TYPE_CPU 0x0006
|
#define EFI_HOB_TYPE_CPU 0x0006
|
||||||
#define EFI_HOB_TYPE_MEMORY_POOL 0x0007
|
#define EFI_HOB_TYPE_MEMORY_POOL 0x0007
|
||||||
#define EFI_HOB_TYPE_FV2 0x0009
|
#define EFI_HOB_TYPE_FV2 0x0009
|
||||||
#define EFI_HOB_TYPE_LOAD_PEIM 0x000A
|
#define EFI_HOB_TYPE_LOAD_PEIM 0x000A
|
||||||
#define EFI_HOB_TYPE_UNUSED 0xFFFE
|
#define EFI_HOB_TYPE_UNUSED 0xFFFE
|
||||||
#define EFI_HOB_TYPE_END_OF_HOB_LIST 0xFFFF
|
#define EFI_HOB_TYPE_END_OF_HOB_LIST 0xFFFF
|
||||||
|
|
||||||
//
|
//
|
||||||
// Describes the format and size of the data inside the HOB.
|
// Describes the format and size of the data inside the HOB.
|
||||||
// All HOBs must contain this generic HOB header.
|
// All HOBs must contain this generic HOB header.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_GENERIC_HEADER {
|
typedef struct {
|
||||||
UINT16 HobType;
|
UINT16 HobType;
|
||||||
UINT16 HobLength;
|
UINT16 HobLength;
|
||||||
UINT32 Reserved;
|
UINT32 Reserved;
|
||||||
} EFI_HOB_GENERIC_HEADER;
|
} EFI_HOB_GENERIC_HEADER;
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,28 +54,28 @@ typedef struct _EFI_HOB_GENERIC_HEADER {
|
||||||
// Contains general state information used by the HOB producer phase.
|
// Contains general state information used by the HOB producer phase.
|
||||||
// This HOB must be the first one in the HOB list.
|
// This HOB must be the first one in the HOB list.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_HANDOFF_INFO_TABLE {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
UINT32 Version;
|
UINT32 Version;
|
||||||
EFI_BOOT_MODE BootMode;
|
EFI_BOOT_MODE BootMode;
|
||||||
EFI_PHYSICAL_ADDRESS EfiMemoryTop;
|
EFI_PHYSICAL_ADDRESS EfiMemoryTop;
|
||||||
EFI_PHYSICAL_ADDRESS EfiMemoryBottom;
|
EFI_PHYSICAL_ADDRESS EfiMemoryBottom;
|
||||||
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop;
|
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop;
|
||||||
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom;
|
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom;
|
||||||
EFI_PHYSICAL_ADDRESS EfiEndOfHobList;
|
EFI_PHYSICAL_ADDRESS EfiEndOfHobList;
|
||||||
} EFI_HOB_HANDOFF_INFO_TABLE;
|
} EFI_HOB_HANDOFF_INFO_TABLE;
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_HOB_MEMORY_ALLOCATION_HEADER {
|
typedef struct {
|
||||||
EFI_GUID Name;
|
EFI_GUID Name;
|
||||||
EFI_PHYSICAL_ADDRESS MemoryBaseAddress;
|
EFI_PHYSICAL_ADDRESS MemoryBaseAddress;
|
||||||
UINT64 MemoryLength;
|
UINT64 MemoryLength;
|
||||||
EFI_MEMORY_TYPE MemoryType;
|
EFI_MEMORY_TYPE MemoryType;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Padding for Itanium processor family
|
// Padding for Itanium processor family
|
||||||
//
|
//
|
||||||
UINT8 Reserved[4];
|
UINT8 Reserved[4];
|
||||||
} EFI_HOB_MEMORY_ALLOCATION_HEADER;
|
} EFI_HOB_MEMORY_ALLOCATION_HEADER;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -84,13 +84,13 @@ typedef struct _EFI_HOB_MEMORY_ALLOCATION_HEADER {
|
||||||
// describes how memory is used,
|
// describes how memory is used,
|
||||||
// not the physical attributes of memory.
|
// not the physical attributes of memory.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_MEMORY_ALLOCATION {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||||
//
|
//
|
||||||
// Additional data pertaining to the ¡°Name¡± Guid memory
|
// Additional data pertaining to the ¡°Name¡± Guid memory
|
||||||
// may go here.
|
// may go here.
|
||||||
//
|
//
|
||||||
} EFI_HOB_MEMORY_ALLOCATION;
|
} EFI_HOB_MEMORY_ALLOCATION;
|
||||||
|
|
||||||
|
|
||||||
|
@ -99,9 +99,9 @@ typedef struct _EFI_HOB_MEMORY_ALLOCATION {
|
||||||
// phase and upon which all postmemory-installed executable
|
// phase and upon which all postmemory-installed executable
|
||||||
// content in the HOB producer phase is executing.
|
// content in the HOB producer phase is executing.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_MEMORY_ALLOCATION_STACK {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||||
} EFI_HOB_MEMORY_ALLOCATION_STACK;
|
} EFI_HOB_MEMORY_ALLOCATION_STACK;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -110,19 +110,19 @@ typedef struct _EFI_HOB_MEMORY_ALLOCATION_STACK {
|
||||||
// This HOB is valid for the Itanium processor family only
|
// This HOB is valid for the Itanium processor family only
|
||||||
// register overflow store.
|
// register overflow store.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_MEMORY_ALLOCATION_BSP_STORE {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
|
||||||
} EFI_HOB_MEMORY_ALLOCATION_BSP_STORE;
|
} EFI_HOB_MEMORY_ALLOCATION_BSP_STORE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Defines the location and entry point of the HOB consumer phase.
|
// Defines the location and entry point of the HOB consumer phase.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_HEADER MemoryAllocationHeader;
|
EFI_HOB_MEMORY_ALLOCATION_HEADER MemoryAllocationHeader;
|
||||||
EFI_GUID ModuleName;
|
EFI_GUID ModuleName;
|
||||||
EFI_PHYSICAL_ADDRESS EntryPoint;
|
EFI_PHYSICAL_ADDRESS EntryPoint;
|
||||||
} EFI_HOB_MEMORY_ALLOCATION_MODULE;
|
} EFI_HOB_MEMORY_ALLOCATION_MODULE;
|
||||||
|
|
||||||
typedef UINT32 EFI_RESOURCE_TYPE;
|
typedef UINT32 EFI_RESOURCE_TYPE;
|
||||||
|
@ -130,14 +130,14 @@ typedef UINT32 EFI_RESOURCE_TYPE;
|
||||||
//
|
//
|
||||||
// Value of ResourceType in EFI_HOB_RESOURCE_DESCRIPTOR.
|
// Value of ResourceType in EFI_HOB_RESOURCE_DESCRIPTOR.
|
||||||
//
|
//
|
||||||
#define EFI_RESOURCE_SYSTEM_MEMORY 0x00000000
|
#define EFI_RESOURCE_SYSTEM_MEMORY 0x00000000
|
||||||
#define EFI_RESOURCE_MEMORY_MAPPED_IO 0x00000001
|
#define EFI_RESOURCE_MEMORY_MAPPED_IO 0x00000001
|
||||||
#define EFI_RESOURCE_IO 0x00000002
|
#define EFI_RESOURCE_IO 0x00000002
|
||||||
#define EFI_RESOURCE_FIRMWARE_DEVICE 0x00000003
|
#define EFI_RESOURCE_FIRMWARE_DEVICE 0x00000003
|
||||||
#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004
|
#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004
|
||||||
#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005
|
#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005
|
||||||
#define EFI_RESOURCE_IO_RESERVED 0x00000006
|
#define EFI_RESOURCE_IO_RESERVED 0x00000006
|
||||||
#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000007
|
#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000007
|
||||||
|
|
||||||
|
|
||||||
typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
||||||
|
@ -147,62 +147,62 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
||||||
//
|
//
|
||||||
// The first three enumerations describe settings
|
// The first three enumerations describe settings
|
||||||
//
|
//
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
|
#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
|
#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
|
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
|
||||||
//
|
//
|
||||||
// The rest of the settings describe capabilities
|
// The rest of the settings describe capabilities
|
||||||
//
|
//
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC 0x00000008
|
#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC 0x00000008
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC 0x00000010
|
#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC 0x00000010
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 0x00000020
|
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 0x00000020
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 0x00000040
|
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 0x00000040
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
|
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
|
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
|
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE 0x00000400
|
#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE 0x00000400
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE 0x00000800
|
#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE 0x00000800
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE 0x00001000
|
#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE 0x00001000
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE 0x00002000
|
#define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE 0x00002000
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO 0x00004000
|
#define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO 0x00004000
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO 0x00008000
|
#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO 0x00008000
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000
|
#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000
|
||||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000
|
#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000
|
||||||
|
|
||||||
//
|
//
|
||||||
// Describes the resource properties of all fixed,
|
// Describes the resource properties of all fixed,
|
||||||
// nonrelocatable resource ranges found on the processor
|
// nonrelocatable resource ranges found on the processor
|
||||||
// host bus during the HOB producer phase.
|
// host bus during the HOB producer phase.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_RESOURCE_DESCRIPTOR {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_GUID Owner;
|
EFI_GUID Owner;
|
||||||
EFI_RESOURCE_TYPE ResourceType;
|
EFI_RESOURCE_TYPE ResourceType;
|
||||||
EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute;
|
EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute;
|
||||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||||
UINT64 ResourceLength;
|
UINT64 ResourceLength;
|
||||||
} EFI_HOB_RESOURCE_DESCRIPTOR;
|
} EFI_HOB_RESOURCE_DESCRIPTOR;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Allows writers of executable content in the HOB producer phase to
|
// Allows writers of executable content in the HOB producer phase to
|
||||||
// maintain and manage HOBs with specific GUID.
|
// maintain and manage HOBs with specific GUID.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_GUID_TYPE {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_GUID Name;
|
EFI_GUID Name;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Guid specific data goes here
|
// Guid specific data goes here
|
||||||
//
|
//
|
||||||
} EFI_HOB_GUID_TYPE;
|
} EFI_HOB_GUID_TYPE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Details the location of firmware volumes that contain firmware files.
|
// Details the location of firmware volumes that contain firmware files.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||||
UINT64 Length;
|
UINT64 Length;
|
||||||
} EFI_HOB_FIRMWARE_VOLUME;
|
} EFI_HOB_FIRMWARE_VOLUME;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -210,48 +210,48 @@ typedef struct {
|
||||||
// from a file within another firmware volume.
|
// from a file within another firmware volume.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||||
UINT64 Length;
|
UINT64 Length;
|
||||||
EFI_GUID FvName;
|
EFI_GUID FvName;
|
||||||
EFI_GUID FileName;
|
EFI_GUID FileName;
|
||||||
} EFI_HOB_FIRMWARE_VOLUME2;
|
} EFI_HOB_FIRMWARE_VOLUME2;
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Describes processor information, such as address space and I/O space capabilities.
|
// Describes processor information, such as address space and I/O space capabilities.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_CPU {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
UINT8 SizeOfMemorySpace;
|
UINT8 SizeOfMemorySpace;
|
||||||
UINT8 SizeOfIoSpace;
|
UINT8 SizeOfIoSpace;
|
||||||
UINT8 Reserved[6];
|
UINT8 Reserved[6];
|
||||||
} EFI_HOB_CPU;
|
} EFI_HOB_CPU;
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Describes pool memory allocations.
|
// Describes pool memory allocations.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_MEMORY_POOL {
|
typedef struct {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
} EFI_HOB_MEMORY_POOL;
|
} EFI_HOB_MEMORY_POOL;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Union of all the possible HOB Types
|
// Union of all the possible HOB Types
|
||||||
//
|
//
|
||||||
typedef union {
|
typedef union {
|
||||||
EFI_HOB_GENERIC_HEADER *Header;
|
EFI_HOB_GENERIC_HEADER *Header;
|
||||||
EFI_HOB_HANDOFF_INFO_TABLE *HandoffInformationTable;
|
EFI_HOB_HANDOFF_INFO_TABLE *HandoffInformationTable;
|
||||||
EFI_HOB_MEMORY_ALLOCATION *MemoryAllocation;
|
EFI_HOB_MEMORY_ALLOCATION *MemoryAllocation;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_BSP_STORE *MemoryAllocationBspStore;
|
EFI_HOB_MEMORY_ALLOCATION_BSP_STORE *MemoryAllocationBspStore;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_STACK *MemoryAllocationStack;
|
EFI_HOB_MEMORY_ALLOCATION_STACK *MemoryAllocationStack;
|
||||||
EFI_HOB_MEMORY_ALLOCATION_MODULE *MemoryAllocationModule;
|
EFI_HOB_MEMORY_ALLOCATION_MODULE *MemoryAllocationModule;
|
||||||
EFI_HOB_RESOURCE_DESCRIPTOR *ResourceDescriptor;
|
EFI_HOB_RESOURCE_DESCRIPTOR *ResourceDescriptor;
|
||||||
EFI_HOB_GUID_TYPE *Guid;
|
EFI_HOB_GUID_TYPE *Guid;
|
||||||
EFI_HOB_FIRMWARE_VOLUME *FirmwareVolume;
|
EFI_HOB_FIRMWARE_VOLUME *FirmwareVolume;
|
||||||
EFI_HOB_CPU *Cpu;
|
EFI_HOB_CPU *Cpu;
|
||||||
EFI_HOB_MEMORY_POOL *Pool;
|
EFI_HOB_MEMORY_POOL *Pool;
|
||||||
UINT8 *Raw;
|
UINT8 *Raw;
|
||||||
} EFI_PEI_HOB_POINTERS;
|
} EFI_PEI_HOB_POINTERS;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,14 +32,14 @@
|
||||||
//
|
//
|
||||||
// Status Code Type Definition
|
// Status Code Type Definition
|
||||||
//
|
//
|
||||||
typedef UINT32 EFI_STATUS_CODE_TYPE;
|
typedef UINT32 EFI_STATUS_CODE_TYPE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// A Status Code Type is made up of the code type and severity
|
// A Status Code Type is made up of the code type and severity
|
||||||
// All values masked by EFI_STATUS_CODE_RESERVED_MASK are
|
// All values masked by EFI_STATUS_CODE_RESERVED_MASK are
|
||||||
// reserved for use by this specification.
|
// reserved for use by this specification.
|
||||||
//
|
//
|
||||||
#define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
|
#define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
|
||||||
#define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
|
#define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
|
||||||
#define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
|
#define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
|
||||||
|
|
||||||
|
@ -48,9 +48,9 @@ typedef UINT32 EFI_STATUS_CODE_TYPE;
|
||||||
// EFI_STATUS_CODE_TYPE_MASK are reserved for use by
|
// EFI_STATUS_CODE_TYPE_MASK are reserved for use by
|
||||||
// this specification.
|
// this specification.
|
||||||
//
|
//
|
||||||
#define EFI_PROGRESS_CODE 0x00000001
|
#define EFI_PROGRESS_CODE 0x00000001
|
||||||
#define EFI_ERROR_CODE 0x00000002
|
#define EFI_ERROR_CODE 0x00000002
|
||||||
#define EFI_DEBUG_CODE 0x00000003
|
#define EFI_DEBUG_CODE 0x00000003
|
||||||
|
|
||||||
//
|
//
|
||||||
// Definitions of severities, all other values masked by
|
// Definitions of severities, all other values masked by
|
||||||
|
@ -61,10 +61,10 @@ typedef UINT32 EFI_STATUS_CODE_TYPE;
|
||||||
// For example, if a memory error was not detected early enough,
|
// For example, if a memory error was not detected early enough,
|
||||||
// the bad data could be consumed by other drivers.
|
// the bad data could be consumed by other drivers.
|
||||||
//
|
//
|
||||||
#define EFI_ERROR_MINOR 0x40000000
|
#define EFI_ERROR_MINOR 0x40000000
|
||||||
#define EFI_ERROR_MAJOR 0x80000000
|
#define EFI_ERROR_MAJOR 0x80000000
|
||||||
#define EFI_ERROR_UNRECOVERED 0x90000000
|
#define EFI_ERROR_UNRECOVERED 0x90000000
|
||||||
#define EFI_ERROR_UNCONTAINED 0xa0000000
|
#define EFI_ERROR_UNCONTAINED 0xa0000000
|
||||||
|
|
||||||
//
|
//
|
||||||
// Status Code Value Definition
|
// Status Code Value Definition
|
||||||
|
@ -74,18 +74,18 @@ typedef UINT32 EFI_STATUS_CODE_VALUE;
|
||||||
// A Status Code Value is made up of the class, subclass, and
|
// A Status Code Value is made up of the class, subclass, and
|
||||||
// an operation.
|
// an operation.
|
||||||
//
|
//
|
||||||
#define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
|
#define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
|
||||||
#define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
|
#define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
|
||||||
#define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
|
#define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
|
||||||
//
|
//
|
||||||
// Definition of Status Code extended data header.
|
// Definition of Status Code extended data header.
|
||||||
// The data will follow HeaderSize bytes from the beginning of
|
// The data will follow HeaderSize bytes from the beginning of
|
||||||
// the structure and is Size bytes long.
|
// the structure and is Size bytes long.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT16 HeaderSize;
|
UINT16 HeaderSize;
|
||||||
UINT16 Size;
|
UINT16 Size;
|
||||||
EFI_GUID Type;
|
EFI_GUID Type;
|
||||||
} EFI_STATUS_CODE_DATA;
|
} EFI_STATUS_CODE_DATA;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
//
|
//
|
||||||
// Handles of EFI FV/FFS.
|
// Handles of EFI FV/FFS.
|
||||||
//
|
//
|
||||||
typedef VOID *EFI_PEI_FV_HANDLE;
|
typedef VOID *EFI_PEI_FV_HANDLE;
|
||||||
typedef VOID *EFI_PEI_FILE_HANDLE;
|
typedef VOID *EFI_PEI_FILE_HANDLE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Declare forward referenced data structures
|
// Declare forward referenced data structures
|
||||||
|
@ -54,7 +54,7 @@ typedef struct _EFI_PEI_NOTIFY_DESCRIPTOR EFI_PEI_NOTIFY_DESCRIPTOR;
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEIM_ENTRY_POINT)(
|
(EFIAPI *EFI_PEIM_ENTRY_POINT)(
|
||||||
IN EFI_FFS_FILE_HEADER *FfsHeader,
|
IN EFI_PEI_FILE_HANDLE *FfsHeader,
|
||||||
IN EFI_PEI_SERVICES **PeiServices
|
IN EFI_PEI_SERVICES **PeiServices
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -104,10 +104,10 @@ struct _EFI_PEI_NOTIFY_DESCRIPTOR {
|
||||||
// this HOB is produced and consumed during the HOB producer phase.
|
// this HOB is produced and consumed during the HOB producer phase.
|
||||||
//
|
//
|
||||||
typedef struct _EFI_HOB_LOAD_PEIM {
|
typedef struct _EFI_HOB_LOAD_PEIM {
|
||||||
EFI_HOB_GENERIC_HEADER Header;
|
EFI_HOB_GENERIC_HEADER Header;
|
||||||
EFI_PEI_FILE_HANDLE FileHandle;
|
EFI_PEI_FILE_HANDLE FileHandle;
|
||||||
EFI_PEIM_ENTRY_POINT EntryPoint;
|
EFI_PEIM_ENTRY_POINT EntryPoint;
|
||||||
EFI_PEIM_ENTRY_POINT InMemEntryPoint;
|
EFI_PEIM_ENTRY_POINT InMemEntryPoint;
|
||||||
} EFI_HOB_LOAD_PEIM;
|
} EFI_HOB_LOAD_PEIM;
|
||||||
|
|
||||||
|
|
||||||
|
@ -499,69 +499,69 @@ EFI_STATUS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
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.
|
||||||
The service returns a file handle of type EFI_PEI_FILE_HANDLE,
|
The service returns a file handle of type EFI_PEI_FILE_HANDLE,
|
||||||
which must be unique within the system.
|
which must be unique within the system.
|
||||||
|
|
||||||
@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 FileHandle
|
||||||
Upon exit, points to the found file's
|
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.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND File was not found.
|
@retval EFI_NOT_FOUND File was not found.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER VolumeHandle or FileHandle or
|
@retval EFI_INVALID_PARAMETER VolumeHandle or FileHandle or
|
||||||
FileName was NULL.
|
FileName was NULL.
|
||||||
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
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 CONST EFI_PEI_FV_HANDLE VolumeHandle,
|
||||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@param FileName Name of the file.
|
@param FileName Name of the file.
|
||||||
|
|
||||||
@param FileType File type. See EFI_FV_FILETYPE, which is
|
@param FileType File type. See EFI_FV_FILETYPE, which is
|
||||||
defined in the Platform Initialization
|
defined in the Platform Initialization
|
||||||
Firmware Storage Specification.
|
Firmware Storage Specification.
|
||||||
|
|
||||||
@param FileAttributes Attributes of the file. Type
|
@param FileAttributes Attributes of the file. Type
|
||||||
EFI_FV_FILE_ATTRIBUTES is defined in
|
EFI_FV_FILE_ATTRIBUTES is defined in
|
||||||
the Platform Initialization Firmware
|
the Platform Initialization Firmware
|
||||||
Storage Specification.
|
Storage Specification.
|
||||||
|
|
||||||
@param Buffer Points to the file's data (not the header).
|
@param Buffer Points to the file's data (not the header).
|
||||||
Not valid if EFI_FV_FILE_ATTRIB_MEMORY_MAPPED
|
Not valid if EFI_FV_FILE_ATTRIB_MEMORY_MAPPED
|
||||||
is zero.
|
is zero.
|
||||||
|
|
||||||
@param BufferSize Size of the file's data.
|
@param BufferSize Size of the file's data.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_GUID FileName;
|
EFI_GUID FileName;
|
||||||
EFI_FV_FILETYPE FileType;
|
EFI_FV_FILETYPE FileType;
|
||||||
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
EFI_FV_FILE_ATTRIBUTES FileAttributes;
|
||||||
VOID *Buffer;
|
VOID *Buffer;
|
||||||
UINT32 BufferSize;
|
UINT32 BufferSize;
|
||||||
} EFI_FV_FILE_INFO;
|
} EFI_FV_FILE_INFO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
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
|
||||||
Buffer member will be NULL.
|
Buffer member will be NULL.
|
||||||
|
|
||||||
@param FileHandle Handle of the file.
|
@param FileHandle Handle of the file.
|
||||||
|
@ -569,58 +569,58 @@ typedef struct {
|
||||||
@param FileInfo Upon exit, points to the file¡¯s
|
@param FileInfo Upon exit, points to the file¡¯s
|
||||||
information.
|
information.
|
||||||
|
|
||||||
@retval EFI_SUCCESS File information returned.
|
@retval EFI_SUCCESS File information returned.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
||||||
represent a valid file.
|
represent a valid file.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER If FileInfo is NULL.
|
@retval EFI_INVALID_PARAMETER If FileInfo is NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
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 CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
OUT EFI_FV_FILE_INFO *FileInfo
|
OUT EFI_FV_FILE_INFO *FileInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@param FvAttributes Attributes of the firmware volume. Type
|
@param FvAttributes Attributes of the firmware volume. Type
|
||||||
EFI_FVB_ATTRIBUTES is defined in the
|
EFI_FVB_ATTRIBUTES is defined in the
|
||||||
Platform Initialization Firmware Storage
|
Platform Initialization Firmware Storage
|
||||||
Specficiation.
|
Specficiation.
|
||||||
|
|
||||||
@param FvFormat Format of the firmware volume. For PI
|
@param FvFormat Format of the firmware volume. For PI
|
||||||
Architecture Firmware Volumes, this can
|
Architecture Firmware Volumes, this can
|
||||||
be copied from FileSystemGuid in
|
be copied from FileSystemGuid in
|
||||||
EFI_FIRMWARE_VOLUME_HEADER.
|
EFI_FIRMWARE_VOLUME_HEADER.
|
||||||
|
|
||||||
@param FvName Name of the firmware volume. For PI
|
@param FvName Name of the firmware volume. For PI
|
||||||
Architecture Firmware Volumes, this can
|
Architecture Firmware Volumes, this can
|
||||||
be copied from VolumeName in the
|
be copied from VolumeName in the
|
||||||
extended header of
|
extended header of
|
||||||
EFI_FIRMWARE_VOLUME_HEADER.
|
EFI_FIRMWARE_VOLUME_HEADER.
|
||||||
|
|
||||||
@param FvStart Points to the first byte of the firmware
|
@param FvStart Points to the first byte of the firmware
|
||||||
volume, if bit EFI_FVB_MEMORY_MAPPED is
|
volume, if bit EFI_FVB_MEMORY_MAPPED is
|
||||||
set in FvAttributes. FvSize Size of the
|
set in FvAttributes. FvSize Size of the
|
||||||
firmware volume.
|
firmware volume.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_FVB_ATTRIBUTES FvAttributes;
|
EFI_FVB_ATTRIBUTES FvAttributes;
|
||||||
EFI_GUID FvFormat;
|
EFI_GUID FvFormat;
|
||||||
EFI_GUID FvName;
|
EFI_GUID FvName;
|
||||||
VOID *FvStart;
|
VOID *FvStart;
|
||||||
UINT64 FvSize;
|
UINT64 FvSize;
|
||||||
} EFI_FV_INFO;
|
} EFI_FV_INFO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
This function returns information about a specific firmware
|
This function returns information about a specific firmware
|
||||||
volume, including its name, type, attributes, starting address
|
volume, including its name, type, attributes, starting address
|
||||||
and size.
|
and size.
|
||||||
|
|
||||||
@param VolumeHandle Handle of the volume.
|
@param VolumeHandle Handle of the volume.
|
||||||
|
@ -628,51 +628,51 @@ typedef struct {
|
||||||
@param VolumeInfo Upon exit, points to the volume¡¯s
|
@param VolumeInfo Upon exit, points to the volume¡¯s
|
||||||
information.
|
information.
|
||||||
|
|
||||||
@retval EFI_SUCCESS File information returned.
|
@retval EFI_SUCCESS File information returned.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
||||||
represent a valid file.
|
represent a valid file.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER If FileInfo is NULL.
|
@retval EFI_INVALID_PARAMETER If FileInfo is NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FFS_GET_VOLUME_INFO) (
|
(EFIAPI *EFI_PEI_FFS_GET_VOLUME_INFO) (
|
||||||
IN CONST EFI_PEI_FV_HANDLE *VolumeHandle,
|
IN CONST EFI_PEI_FV_HANDLE *VolumeHandle,
|
||||||
OUT EFI_FV_INFO *VolumeInfo
|
OUT EFI_FV_INFO *VolumeInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
This service registers a file handle so that after memory is
|
This service registers a file handle so that after memory is
|
||||||
available, the PEIM will be re-loaded into permanent memory and
|
available, the PEIM will be re-loaded into permanent memory and
|
||||||
re-initialized. The PEIM registered this way will always be
|
re-initialized. The PEIM registered this way will always be
|
||||||
initialized twice. The first time, this function call will
|
initialized twice. The first time, this function call will
|
||||||
return EFI_SUCCESS. The second time, this function call will
|
return EFI_SUCCESS. The second time, this function call will
|
||||||
return EFI_ALREADY_STARTED. Depending on the order in which
|
return EFI_ALREADY_STARTED. Depending on the order in which
|
||||||
PEIMs are dispatched, the PEIM making this call may be
|
PEIMs are dispatched, the PEIM making this call may be
|
||||||
initialized after permanent memory is installed, even the first
|
initialized after permanent memory is installed, even the first
|
||||||
time.
|
time.
|
||||||
|
|
||||||
@param FileHandle PEIM¡¯s file handle. Must be the currently
|
@param FileHandle PEIM¡¯s file handle. Must be the currently
|
||||||
xecuting PEIM.
|
xecuting PEIM.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The PEIM was successfully registered for
|
@retval EFI_SUCCESS The PEIM was successfully registered for
|
||||||
shadowing.
|
shadowing.
|
||||||
|
|
||||||
@retval EFI_ALREADY_STARTED The PEIM was previously
|
@retval EFI_ALREADY_STARTED The PEIM was previously
|
||||||
registered for shadowing.
|
registered for shadowing.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND The FileHandle does not refer to a
|
@retval EFI_NOT_FOUND The FileHandle does not refer to a
|
||||||
valid file handle.
|
valid file handle.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_REGISTER_FOR_SHADOW) (
|
(EFIAPI *EFI_PEI_REGISTER_FOR_SHADOW) (
|
||||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle
|
IN CONST EFI_PEI_FILE_HANDLE FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -684,63 +684,63 @@ EFI_STATUS
|
||||||
//
|
//
|
||||||
// PEI Services Table
|
// PEI Services Table
|
||||||
//
|
//
|
||||||
#define PEI_SERVICES_SIGNATURE 0x5652455320494550
|
#define PEI_SERVICES_SIGNATURE 0x5652455320494550
|
||||||
#define PEI_SERVICES_REVISION (PEI_SPECIFICATION_MAJOR_REVISION<<16) | (PEI_SPECIFICATION_MINOR_REVISION)
|
#define PEI_SERVICES_REVISION (PEI_SPECIFICATION_MAJOR_REVISION<<16) | (PEI_SPECIFICATION_MINOR_REVISION)
|
||||||
|
|
||||||
struct EFI_PEI_SERVICES {
|
struct EFI_PEI_SERVICES {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
//
|
//
|
||||||
// PPI Functions
|
// PPI Functions
|
||||||
//
|
//
|
||||||
EFI_PEI_INSTALL_PPI InstallPpi;
|
EFI_PEI_INSTALL_PPI InstallPpi;
|
||||||
EFI_PEI_REINSTALL_PPI ReInstallPpi;
|
EFI_PEI_REINSTALL_PPI ReInstallPpi;
|
||||||
EFI_PEI_LOCATE_PPI LocatePpi;
|
EFI_PEI_LOCATE_PPI LocatePpi;
|
||||||
EFI_PEI_NOTIFY_PPI NotifyPpi;
|
EFI_PEI_NOTIFY_PPI NotifyPpi;
|
||||||
//
|
//
|
||||||
// Boot Mode Functions
|
// Boot Mode Functions
|
||||||
//
|
//
|
||||||
EFI_PEI_GET_BOOT_MODE GetBootMode;
|
EFI_PEI_GET_BOOT_MODE GetBootMode;
|
||||||
EFI_PEI_SET_BOOT_MODE SetBootMode;
|
EFI_PEI_SET_BOOT_MODE SetBootMode;
|
||||||
//
|
//
|
||||||
// HOB Functions
|
// HOB Functions
|
||||||
//
|
//
|
||||||
EFI_PEI_GET_HOB_LIST GetHobList;
|
EFI_PEI_GET_HOB_LIST GetHobList;
|
||||||
EFI_PEI_CREATE_HOB CreateHob;
|
EFI_PEI_CREATE_HOB CreateHob;
|
||||||
//
|
//
|
||||||
// Firmware Volume Functions
|
// Firmware Volume Functions
|
||||||
//
|
//
|
||||||
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume;
|
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume;
|
||||||
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile;
|
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile;
|
||||||
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData;
|
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData;
|
||||||
//
|
//
|
||||||
// PEI Memory Functions
|
// PEI Memory Functions
|
||||||
//
|
//
|
||||||
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
|
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
|
||||||
EFI_PEI_ALLOCATE_PAGES AllocatePages;
|
EFI_PEI_ALLOCATE_PAGES AllocatePages;
|
||||||
EFI_PEI_ALLOCATE_POOL AllocatePool;
|
EFI_PEI_ALLOCATE_POOL AllocatePool;
|
||||||
EFI_PEI_COPY_MEM CopyMem;
|
EFI_PEI_COPY_MEM CopyMem;
|
||||||
EFI_PEI_SET_MEM SetMem;
|
EFI_PEI_SET_MEM SetMem;
|
||||||
//
|
//
|
||||||
// Status Code
|
// Status Code
|
||||||
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
|
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
|
||||||
//
|
//
|
||||||
// Reset
|
// Reset
|
||||||
//
|
//
|
||||||
EFI_PEI_RESET_SYSTEM ResetSystem;
|
EFI_PEI_RESET_SYSTEM ResetSystem;
|
||||||
//
|
//
|
||||||
// (the following interfaces are installed by publishing PEIM)
|
// (the following interfaces are installed by publishing PEIM)
|
||||||
//
|
//
|
||||||
// I/O Abstractions
|
// I/O Abstractions
|
||||||
//
|
//
|
||||||
EFI_PEI_CPU_IO_PPI *CpuIo;
|
EFI_PEI_CPU_IO_PPI *CpuIo;
|
||||||
EFI_PEI_PCI_CFG2_PPI *PciCfg;
|
EFI_PEI_PCI_CFG2_PPI *PciCfg;
|
||||||
//
|
//
|
||||||
// Future Installed Services
|
// Future Installed Services
|
||||||
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName;
|
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName;
|
||||||
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo;
|
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo;
|
||||||
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo;
|
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo;
|
||||||
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
|
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
|
||||||
} ;
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_SEC_PEI_HAND_OFF {
|
typedef struct _EFI_SEC_PEI_HAND_OFF {
|
||||||
|
|
|
@ -21,60 +21,60 @@
|
||||||
#define __DECOMPRESS_PPI_H__
|
#define __DECOMPRESS_PPI_H__
|
||||||
|
|
||||||
#define EFI_PEI_DECOMPRESS_PPI_GUID \
|
#define EFI_PEI_DECOMPRESS_PPI_GUID \
|
||||||
{ 0x1a36e4e7, 0xfab6, 0x476a, { 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7 } }
|
{ 0x1a36e4e7, 0xfab6, 0x476a, { 0x8e, 0x75, 0x69, 0x5a, 0x5, 0x76, 0xfd, 0xd7 } }
|
||||||
|
|
||||||
typedef struct _EFI_PEI_DECOMPRESS_PPI EFI_PEI_DECOMPRESS_PPI;;
|
typedef struct _EFI_PEI_DECOMPRESS_PPI EFI_PEI_DECOMPRESS_PPI;;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Decompresses the data in a compressed section and returns it
|
Decompresses the data in a compressed section and returns it
|
||||||
as a series of standard PI Firmware File Sections. The
|
as a series of standard PI Firmware File Sections. The
|
||||||
required memory is allocated from permanent memory.
|
required memory is allocated from permanent memory.
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_DECOMPRESS_PEI PPI. InputSection Points to
|
EFI_PEI_DECOMPRESS_PEI PPI. InputSection Points to
|
||||||
the compressed section.
|
the compressed section.
|
||||||
|
|
||||||
@param OutputBuffer Holds the returned pointer to the
|
@param OutputBuffer Holds the returned pointer to the
|
||||||
decompressed sections.
|
decompressed sections.
|
||||||
|
|
||||||
@param OutputSize Holds the returned size of the decompress
|
@param OutputSize Holds the returned size of the decompress
|
||||||
section streams.
|
section streams.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The section was decompressed
|
@retval EFI_SUCCESS The section was decompressed
|
||||||
successfully. OutputBuffer contains the
|
successfully. OutputBuffer contains the
|
||||||
resulting data and OutputSize contains
|
resulting data and OutputSize contains
|
||||||
the resulting size.
|
the resulting size.
|
||||||
|
|
||||||
@retval EFI_OUT_OF_RESOURCES Unable to allocate sufficient
|
@retval EFI_OUT_OF_RESOURCES Unable to allocate sufficient
|
||||||
memory to hold the decompressed data.
|
memory to hold the decompressed data.
|
||||||
|
|
||||||
@retval EFI_UNSUPPORTED The compression type specified
|
@retval EFI_UNSUPPORTED The compression type specified
|
||||||
in the compression header is unsupported.
|
in the compression header is unsupported.
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
|
(EFIAPI *EFI_PEI_DECOMPRESS_DECOMPRESS)(
|
||||||
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
|
IN CONST EFI_PEI_DECOMPRESS_PPI *This,
|
||||||
IN CONST EFI_COMPRESSION_SECTION *InputSection,
|
IN CONST EFI_COMPRESSION_SECTION *InputSection,
|
||||||
OUT VOID **OutputBuffer,
|
OUT VOID **OutputBuffer,
|
||||||
OUT UINTN *OutputSize
|
OUT UINTN *OutputSize
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This PPI¡¯s single member function decompresses a compression
|
This PPI¡¯s single member function decompresses a compression
|
||||||
encapsulated section. It is used by the PEI Foundation to
|
encapsulated section. It is used by the PEI Foundation to
|
||||||
process sectioned files. Prior to the installation of this PPI,
|
process sectioned files. Prior to the installation of this PPI,
|
||||||
compression sections will be ignored.
|
compression sections will be ignored.
|
||||||
|
|
||||||
@param Decompress Decompress a single compression section in
|
@param Decompress Decompress a single compression section in
|
||||||
a firmware file.
|
a firmware file.
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_DECOMPRESS_PPI {
|
struct _EFI_PEI_DECOMPRESS_PPI {
|
||||||
EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
|
EFI_PEI_DECOMPRESS_DECOMPRESS Decompress;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiDecompressPpiGuid;
|
extern EFI_GUID gEfiPeiDecompressPpiGuid;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
// EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.
|
// EFI_FIRMWARE_FILE_SYSTEM2_GUID is the PI Firmware Volume format.
|
||||||
//
|
//
|
||||||
|
|
||||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
|
typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,26 +40,26 @@ typedef struct _EFI_PEI_FIRMWARE_VOLUME_PPI EFI_PEI_FIRMWARE_VOLUME_PPI;
|
||||||
from the EFI_FIRMWARE_VOLUME_INFO_PPI.
|
from the EFI_FIRMWARE_VOLUME_INFO_PPI.
|
||||||
|
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI
|
EFI_PEI_FIRMWARE_VOLUME_PPI
|
||||||
@param Buffer Points to the start of the buffer.
|
@param Buffer Points to the start of the buffer.
|
||||||
@param BufferSize Size of the buffer.
|
@param BufferSize Size of the buffer.
|
||||||
@param FvHandle Points to the returned firmware volume
|
@param FvHandle Points to the returned firmware volume
|
||||||
handle. The firmware volume handle must
|
handle. The firmware volume handle must
|
||||||
be unique within the system.
|
be unique within the system.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Firmware volume handle.
|
@retval EFI_SUCCESS Firmware volume handle.
|
||||||
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.
|
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FV_PROCESS_FV) (
|
(EFIAPI *EFI_PEI_FV_PROCESS_FV) (
|
||||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST VOID *Buffer,
|
IN CONST VOID *Buffer,
|
||||||
IN CONST UINTN BufferSize,
|
IN CONST UINTN BufferSize,
|
||||||
OUT EFI_PEI_FV_HANDLE *FvHandle
|
OUT EFI_PEI_FV_HANDLE *FvHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,76 +73,76 @@ EFI_STATUS
|
||||||
from the EFI_FIRMWARE_VOLUME_INFO_PPI.
|
from the EFI_FIRMWARE_VOLUME_INFO_PPI.
|
||||||
|
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI
|
EFI_PEI_FIRMWARE_VOLUME_PPI
|
||||||
@param Buffer Points to the start of the buffer.
|
@param Buffer Points to the start of the buffer.
|
||||||
@param BufferSize Size of the buffer.
|
@param BufferSize Size of the buffer.
|
||||||
@param FvHandle Points to the returned firmware volume
|
@param FvHandle Points to the returned firmware volume
|
||||||
handle. The firmware volume handle must
|
handle. The firmware volume handle must
|
||||||
be unique within the system.
|
be unique within the system.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Firmware volume handle.
|
@retval EFI_SUCCESS Firmware volume handle.
|
||||||
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.
|
@retval EFI_VOLUME_CORRUPTED Volume was corrupt.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This service enables PEI modules to discover additional firmware files. The FileHandle must be
|
This service enables PEI modules to discover additional firmware files. The FileHandle must be
|
||||||
unique within the system.
|
unique within the system.
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI. SearchType A filter
|
EFI_PEI_FIRMWARE_VOLUME_PPI. SearchType A filter
|
||||||
to find only files of this type. Type
|
to find only files of this type. Type
|
||||||
EFI_FV_FILETYPE_ALL causes no filtering to be
|
EFI_FV_FILETYPE_ALL causes no filtering to be
|
||||||
done.
|
done.
|
||||||
@param FvHandle Handle of firmware volume in which to
|
@param FvHandle Handle of firmware volume in which to
|
||||||
search.
|
search.
|
||||||
|
|
||||||
@param FileHandle Points to the current handle from which to
|
@param FileHandle Points to the current handle from which to
|
||||||
begin searching or NULL to start at the
|
begin searching or NULL to start at the
|
||||||
beginning of the firmware volume. Updated
|
beginning of the firmware volume. Updated
|
||||||
upon return to reflect the file found.
|
upon return to reflect the file found.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The file was found.
|
@retval EFI_SUCCESS The file was found.
|
||||||
@retval EFI_NOT_FOUND The file was not found. FileHandle
|
@retval EFI_NOT_FOUND The file was not found. FileHandle
|
||||||
contains NULL.
|
contains NULL.
|
||||||
**/
|
**/
|
||||||
typedef EFI_STATUS
|
typedef EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) (
|
(EFIAPI *EFI_PEI_FV_FIND_FILE_TYPE) (
|
||||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST EFI_FV_FILETYPE SearchType,
|
IN CONST EFI_FV_FILETYPE SearchType,
|
||||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||||
|
|
||||||
@param FileName A pointer to the name of the file to find
|
@param FileName A pointer to the name of the file to find
|
||||||
within the firmware volume.
|
within the firmware volume.
|
||||||
|
|
||||||
@param FvHandle Upon entry, the pointer to the firmware
|
@param FvHandle Upon entry, the pointer to the firmware
|
||||||
volume to search or NULL if all firmware
|
volume to search or NULL if all firmware
|
||||||
volumes should be searched. Upon exit, the
|
volumes should be searched. Upon exit, the
|
||||||
actual firmware volume in which the file was
|
actual firmware volume in which the file was
|
||||||
found.
|
found.
|
||||||
|
|
||||||
@param FileHandle 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.
|
||||||
|
|
||||||
@param EFI_NOT_FOUND File was not found.
|
@param EFI_NOT_FOUND File was not found.
|
||||||
|
|
||||||
@param EFI_INVALID_PARAMETER FvHandle or FileHandle or
|
@param EFI_INVALID_PARAMETER FvHandle or FileHandle or
|
||||||
FileName was NULL.
|
FileName was NULL.
|
||||||
|
|
||||||
|
|
||||||
|
@ -150,29 +150,29 @@ typedef EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (
|
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (
|
||||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST EFI_GUID *FileName,
|
IN CONST EFI_GUID *FileName,
|
||||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function returns information about a specific
|
This function returns information about a specific
|
||||||
file, including its file name, type, attributes, starting
|
file, including its file name, type, attributes, starting
|
||||||
address and size.
|
address and size.
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||||
|
|
||||||
@param FileHandle Handle of the file.
|
@param FileHandle Handle of the file.
|
||||||
|
|
||||||
@param FileInfo Upon exit, points to the file????s
|
@param FileInfo Upon exit, points to the file????s
|
||||||
information.
|
information.
|
||||||
|
|
||||||
@retval EFI_SUCCESS File information returned.
|
@retval EFI_SUCCESS File information returned.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
@retval EFI_INVALID_PARAMETER If FileHandle does not
|
||||||
represent a valid file.
|
represent a valid file.
|
||||||
EFI_INVALID_PARAMETER If
|
EFI_INVALID_PARAMETER If
|
||||||
FileInfo is NULL
|
FileInfo is NULL
|
||||||
|
@ -181,88 +181,88 @@ EFI_STATUS
|
||||||
|
|
||||||
typedef
|
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_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
OUT EFI_FV_FILE_INFO *FileInfo
|
OUT EFI_FV_FILE_INFO *FileInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function returns information about the firmware
|
This function returns information about the firmware
|
||||||
volume.
|
volume.
|
||||||
|
|
||||||
@param This Points to this instance of the
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||||
|
|
||||||
@param FvHandle Handle to the firmware handle.
|
@param FvHandle Handle to the firmware handle.
|
||||||
|
|
||||||
@param VolumeInfo Points to the returned firmware volume
|
@param VolumeInfo Points to the returned firmware volume
|
||||||
information.
|
information.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Information returned
|
@retval EFI_SUCCESS Information returned
|
||||||
successfully.
|
successfully.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER FvHandle does not indicate a
|
@retval EFI_INVALID_PARAMETER FvHandle does not indicate a
|
||||||
valid firmware volume or VolumeInfo is NULL
|
valid firmware volume or VolumeInfo is NULL
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_INFO)(
|
EFI_STATUS (EFIAPI *EFI_PEI_FV_GET_INFO)(
|
||||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||||
OUT EFI_FV_INFO *VolumeInfo
|
OUT EFI_FV_INFO *VolumeInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
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
|
@param This Points to this instance of the
|
||||||
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
EFI_PEI_FIRMWARE_VOLUME_PPI.
|
||||||
|
|
||||||
@param SearchType A filter to find only sections of this
|
@param SearchType A filter to find only sections of this
|
||||||
type.
|
type.
|
||||||
|
|
||||||
@param FileHandle Handle of firmware file in which to
|
@param FileHandle Handle of firmware file in which to
|
||||||
search.
|
search.
|
||||||
|
|
||||||
@param SectionData Updated upon return to point to the
|
@param SectionData Updated upon return to point to the
|
||||||
section found.
|
section found.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Section was found.
|
@retval EFI_SUCCESS Section was found.
|
||||||
|
|
||||||
@retval EFI_NOT_FOUND Section of the specified type was not
|
@retval EFI_NOT_FOUND Section of the specified type was not
|
||||||
found. SectionData contains NULL.
|
found. SectionData contains NULL.
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_FV_FIND_SECTION) (
|
(EFIAPI *EFI_PEI_FV_FIND_SECTION) (
|
||||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||||
IN CONST EFI_SECTION_TYPE SearchType,
|
IN CONST EFI_SECTION_TYPE SearchType,
|
||||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
OUT VOID **SectionData
|
OUT VOID **SectionData
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This PPI provides functions for accessing a memory-mapped firmware volume of a specific format.
|
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 ProcessVolume Process a firmware volume and create a volume handle.
|
||||||
@param FindFileByType Find all files of a specific type.
|
@param FindFileByType Find all files of a specific type.
|
||||||
@param FindFileByName Find the file with a specific name.
|
@param FindFileByName Find the file with a specific name.
|
||||||
@param GetFileInfo Return the information about a specific file
|
@param GetFileInfo Return the information about a specific file
|
||||||
@param GetVolumeInfo Return the firmware volume attributes.
|
@param GetVolumeInfo Return the firmware volume attributes.
|
||||||
@param FindSectionByType Find all sections of a specific type.
|
@param FindSectionByType Find all sections of a specific type.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_FIRMWARE_VOLUME_PPI {
|
struct _EFI_PEI_FIRMWARE_VOLUME_PPI {
|
||||||
EFI_PEI_FV_PROCESS_FV ProcessVolume;
|
EFI_PEI_FV_PROCESS_FV ProcessVolume;
|
||||||
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;
|
EFI_PEI_FV_FIND_FILE_TYPE FindFileByType;
|
||||||
EFI_PEI_FV_FIND_FILE_NAME FindFileByName;
|
EFI_PEI_FV_FIND_FILE_NAME FindFileByName;
|
||||||
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;
|
EFI_PEI_FV_GET_FILE_INFO GetFileInfo;
|
||||||
EFI_PEI_FV_GET_INFO GetVolumeInfo;
|
EFI_PEI_FV_GET_INFO GetVolumeInfo;
|
||||||
EFI_PEI_FV_FIND_SECTION FindSectionByType;
|
EFI_PEI_FV_FIND_SECTION FindSectionByType;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiFirmwareVolumePpiGuid;
|
extern EFI_GUID gEfiPeiFirmwareVolumePpiGuid;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -26,44 +26,44 @@
|
||||||
#define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
|
#define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
|
||||||
{ 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
|
{ 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
|
||||||
|
|
||||||
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
|
typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This PPI describes the location and format of a firmware volume.
|
This PPI describes the location and format of a firmware volume.
|
||||||
The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
|
The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
|
||||||
a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is
|
a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is
|
||||||
the PI Firmware Volume format.
|
the PI Firmware Volume format.
|
||||||
|
|
||||||
@param FvFormat Unique identifier of the format of the memory-mapped firmware volume.
|
@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
|
@param FvInfo Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to
|
||||||
process the volume. The format of this buffer is
|
process the volume. The format of this buffer is
|
||||||
specific to the FvFormat. For memory-mapped firmware volumes,
|
specific to the FvFormat. For memory-mapped firmware volumes,
|
||||||
this typically points to the first byte of the firmware volume.
|
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,
|
@param FvInfoSize Size of the data provided by FvInfo. For memory-mapped firmware volumes,
|
||||||
this is typically the size of the firmware volume.
|
this is typically the size of the firmware volume.
|
||||||
|
|
||||||
@param ParentFvName If the firmware volume originally came from a firmware file,
|
@param ParentFvName If the firmware volume originally came from a firmware file,
|
||||||
then these point to the parent firmware volume
|
then these point to the parent firmware volume
|
||||||
name and firmware volume file. If it did not originally come
|
name and firmware volume file. If it did not originally come
|
||||||
from a firmware file, these should be NULL.
|
from a firmware file, these should be NULL.
|
||||||
|
|
||||||
@param ParentFileName If the firmware volume originally came from a firmware file,
|
@param ParentFileName If the firmware volume originally came from a firmware file,
|
||||||
then these point to the parent firmware volume
|
then these point to the parent firmware volume
|
||||||
name and firmware volume file. If it did not originally come
|
name and firmware volume file. If it did not originally come
|
||||||
from a firmware file, these should be NULL.
|
from a firmware file, these should be NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
|
struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
|
||||||
EFI_GUID FvFormat;
|
EFI_GUID FvFormat;
|
||||||
VOID *FvInfo;
|
VOID *FvInfo;
|
||||||
UINT32 FvInfoSize;
|
UINT32 FvInfoSize;
|
||||||
EFI_GUID *ParentFvName;
|
EFI_GUID *ParentFvName;
|
||||||
EFI_GUID *ParentFileName;
|
EFI_GUID *ParentFileName;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
|
extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
/* @file
|
/* @file
|
||||||
If a GUID-defined section is encountered when doing section extraction,
|
If a GUID-defined section is encountered when doing section extraction,
|
||||||
the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance
|
the PEI Foundation or the EFI_PEI_FILE_LOADER_PPI instance
|
||||||
calls the appropriate instance of the GUIDed Section Extraction PPI
|
calls the appropriate instance of the GUIDed Section Extraction PPI
|
||||||
to extract the section stream contained therein..
|
to extract the section stream contained therein..
|
||||||
|
|
||||||
Copyright (c) 2006 - 2007, Intel Corporation
|
Copyright (c) 2006 - 2007, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
|
@ -37,40 +37,40 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI;
|
typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Bit values for AuthenticationStatus
|
// Bit values for AuthenticationStatus
|
||||||
//
|
//
|
||||||
#define EFI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
|
#define EFI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
|
||||||
#define EFI_AUTH_STATUS_IMAGE_SIGNED 0x02
|
#define EFI_AUTH_STATUS_IMAGE_SIGNED 0x02
|
||||||
#define EFI_AUTH_STATUS_NOT_TESTED 0x04
|
#define EFI_AUTH_STATUS_NOT_TESTED 0x04
|
||||||
#define EFI_AUTH_STATUS_TEST_FAILED 0x08
|
#define EFI_AUTH_STATUS_TEST_FAILED 0x08
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The ExtractSection() function processes the input section and
|
The ExtractSection() function processes the input section and
|
||||||
returns a pointer to the section contents. If the section being
|
returns a pointer to the section contents. If the section being
|
||||||
extracted does not require processing (if the section
|
extracted does not require processing (if the section
|
||||||
GuidedSectionHeader.Attributes has the
|
GuidedSectionHeader.Attributes has the
|
||||||
EFI_GUIDED_SECTION_PROCESSING_REQUIRED field cleared), then
|
EFI_GUIDED_SECTION_PROCESSING_REQUIRED field cleared), then
|
||||||
OutputBuffer is just updated to point to the start of the
|
OutputBuffer is just updated to point to the start of the
|
||||||
section's contents. Otherwise, *Buffer must be allocated
|
section's contents. Otherwise, *Buffer must be allocated
|
||||||
from PEI permanent memory.
|
from PEI permanent memory.
|
||||||
|
|
||||||
@param This Indicates the
|
@param This Indicates the
|
||||||
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI instance.
|
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI instance.
|
||||||
Buffer containing the input GUIDed section to be
|
Buffer containing the input GUIDed section to be
|
||||||
processed. OutputBuffer OutputBuffer is
|
processed. OutputBuffer OutputBuffer is
|
||||||
allocated from PEI permanent memory and contains
|
allocated from PEI permanent memory and contains
|
||||||
the new section stream.
|
the new section stream.
|
||||||
|
|
||||||
@param OutputSize A pointer to a caller-allocated
|
@param OutputSize A pointer to a caller-allocated
|
||||||
UINTN in which the size of *OutputBuffer
|
UINTN in which the size of *OutputBuffer
|
||||||
allocation is stored. If the function
|
allocation is stored. If the function
|
||||||
returns anything other than EFI_SUCCESS,
|
returns anything other than EFI_SUCCESS,
|
||||||
the value of OutputSize is undefined.
|
the value of OutputSize is undefined.
|
||||||
|
|
||||||
@param AuthenticationStatus A pointer to a caller-allocated
|
@param AuthenticationStatus A pointer to a caller-allocated
|
||||||
UINT32 that indicates the
|
UINT32 that indicates the
|
||||||
authentication status of the
|
authentication status of the
|
||||||
output buffer. If the input
|
output buffer. If the input
|
||||||
|
@ -87,11 +87,11 @@ typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_EX
|
||||||
AuthenticationStatus is
|
AuthenticationStatus is
|
||||||
undefined.
|
undefined.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The InputSection was
|
@retval EFI_SUCCESS The InputSection was
|
||||||
successfully processed and the
|
successfully processed and the
|
||||||
section contents were returned.
|
section contents were returned.
|
||||||
|
|
||||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient
|
@retval EFI_OUT_OF_RESOURCES The system has insufficient
|
||||||
resources to process the request.
|
resources to process the request.
|
||||||
|
|
||||||
@reteval EFI_INVALID_PARAMETER The GUID in InputSection does
|
@reteval EFI_INVALID_PARAMETER The GUID in InputSection does
|
||||||
|
@ -101,11 +101,11 @@ typedef struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI EFI_PEI_GUIDED_SECTION_EX
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_EXTRACT_GUIDED_SECTION)(
|
(EFIAPI *EFI_PEI_EXTRACT_GUIDED_SECTION)(
|
||||||
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
|
IN CONST EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,
|
||||||
IN CONST VOID *InputSection,
|
IN CONST VOID *InputSection,
|
||||||
OUT VOID **OutputBuffer,
|
OUT VOID **OutputBuffer,
|
||||||
OUT UINTN *OutputSize,
|
OUT UINTN *OutputSize,
|
||||||
OUT UINT32 *AuthenticationStatus
|
OUT UINT32 *AuthenticationStatus
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -118,14 +118,14 @@ EFI_STATUS
|
||||||
therein.
|
therein.
|
||||||
|
|
||||||
|
|
||||||
@param ExtractSection Takes the GUIDed section as input and
|
@param ExtractSection Takes the GUIDed section as input and
|
||||||
produces the section stream data. See
|
produces the section stream data. See
|
||||||
the ExtractSection() function
|
the ExtractSection() function
|
||||||
description.
|
description.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI {
|
struct _EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI {
|
||||||
EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection;
|
EFI_PEI_EXTRACT_GUIDED_SECTION ExtractSection;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,32 +21,32 @@
|
||||||
#define __FV_FILE_LOADER_PPI_H__
|
#define __FV_FILE_LOADER_PPI_H__
|
||||||
|
|
||||||
#define EFI_PEI_LOAD_FILE_PPI_GUID \
|
#define EFI_PEI_LOAD_FILE_PPI_GUID \
|
||||||
{ 0xb9e0abfe, 0x5979, 0x4914, { 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6 } }
|
{ 0xb9e0abfe, 0x5979, 0x4914, { 0x97, 0x7f, 0x6d, 0xee, 0x78, 0xc2, 0x78, 0xa6 } }
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI;
|
typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This service is the single member function of EFI_LOAD_FILE_PPI. This service separates
|
This service is the single member function of EFI_LOAD_FILE_PPI. This service separates
|
||||||
image loading and relocating from the PEI Foundation.
|
image loading and relocating from the PEI Foundation.
|
||||||
|
|
||||||
@param This Interface pointer that implements
|
@param This Interface pointer that implements
|
||||||
the Load File PPI instance.
|
the Load File PPI instance.
|
||||||
|
|
||||||
@param FileHandle File handle of the file to load.
|
@param FileHandle File handle of the file to load.
|
||||||
Type EFI_PEI_FILE_HANDLE is defined in
|
Type EFI_PEI_FILE_HANDLE is defined in
|
||||||
FfsFindNextFile().
|
FfsFindNextFile().
|
||||||
|
|
||||||
@param ImageAddress Pointer to the address of the
|
@param ImageAddress Pointer to the address of the
|
||||||
loaded image.
|
loaded image.
|
||||||
|
|
||||||
@param ImageSize Pointer to the size of the loaded
|
@param ImageSize Pointer to the size of the loaded
|
||||||
image.
|
image.
|
||||||
|
|
||||||
@param EntryPoint Pointer to the entry point of the
|
@param EntryPoint Pointer to the entry point of the
|
||||||
image.
|
image.
|
||||||
|
|
||||||
@param AuthenticationState On exit, points to the attestation
|
@param AuthenticationState On exit, points to the attestation
|
||||||
authentication state of the image
|
authentication state of the image
|
||||||
or 0 if no attestation was
|
or 0 if no attestation was
|
||||||
performed. The format of
|
performed. The format of
|
||||||
|
@ -54,29 +54,29 @@ typedef struct _EFI_PEI_LOAD_FILE_PPI EFI_PEI_LOAD_FILE_PPI;
|
||||||
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI.ExtractSection()
|
EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI.ExtractSection()
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The image was loaded successfully.
|
@retval EFI_SUCCESS The image was loaded successfully.
|
||||||
|
|
||||||
@retval EFI_OUT_OF_RESOURCES There was not enough memory.
|
@retval EFI_OUT_OF_RESOURCES There was not enough memory.
|
||||||
|
|
||||||
@retval EFI_LOAD_ERROR There was no supported image in
|
@retval EFI_LOAD_ERROR There was no supported image in
|
||||||
the file EFI_INVALID_PARAMETER
|
the file EFI_INVALID_PARAMETER
|
||||||
FileHandle was not a valid
|
FileHandle was not a valid
|
||||||
firmware file handle.
|
firmware file handle.
|
||||||
@retval EFI_INVALID_PARAMETER EntryPoint was NULL.
|
@retval EFI_INVALID_PARAMETER EntryPoint was NULL.
|
||||||
|
|
||||||
@retval EFI_NOT_SUPPORTED An image requires relocations or
|
@retval EFI_NOT_SUPPORTED An image requires relocations or
|
||||||
is not memory mapped.
|
is not memory mapped.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_LOAD_FILE) (
|
(EFIAPI *EFI_PEI_LOAD_FILE) (
|
||||||
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
|
IN CONST EFI_PEI_LOAD_FILE_PPI *This,
|
||||||
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
IN CONST EFI_PEI_FILE_HANDLE FileHandle,
|
||||||
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
|
OUT EFI_PHYSICAL_ADDRESS *ImageAddress,
|
||||||
OUT UINT64 *ImageSize,
|
OUT UINT64 *ImageSize,
|
||||||
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
|
OUT EFI_PHYSICAL_ADDRESS *EntryPoint,
|
||||||
OUT UINT32 *AuthenticationState
|
OUT UINT32 *AuthenticationState
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ EFI_STATUS
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_LOAD_FILE_PPI {
|
struct _EFI_PEI_LOAD_FILE_PPI {
|
||||||
EFI_PEI_LOAD_FILE LoadFile;
|
EFI_PEI_LOAD_FILE LoadFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* @file
|
/* @file
|
||||||
The file descript the PPI which notifies other drivers
|
The file descript the PPI which notifies other drivers
|
||||||
of the PEIM being initialized by the PEI Dispatcher.
|
of the PEIM being initialized by the PEI Dispatcher.
|
||||||
|
|
||||||
Copyright (c) 2006 - 2007, Intel Corporation
|
Copyright (c) 2006 - 2007, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
|
@ -23,28 +23,28 @@
|
||||||
#define __LOADED_IMAGE_PPI_H__
|
#define __LOADED_IMAGE_PPI_H__
|
||||||
|
|
||||||
#define EFI_PEI_LOADED_IMAGE_PPI_GUID \
|
#define EFI_PEI_LOADED_IMAGE_PPI_GUID \
|
||||||
{ 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }
|
{ 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
|
typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This interface is installed by the PEI Dispatcher after the image has been
|
This interface is installed by the PEI Dispatcher after the image has been
|
||||||
loaded and after all security checks have been performed,
|
loaded and after all security checks have been performed,
|
||||||
to notify other PEIMs of the files which are being loaded.
|
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 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 ImageSize Size of the image as it will be executed.
|
||||||
|
|
||||||
@param FileHandle File handle from which the image was loaded. Can be NULL,
|
@param FileHandle File handle from which the image was loaded. Can be NULL,
|
||||||
indicating the image was not loaded from a handle.
|
indicating the image was not loaded from a handle.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_LOADED_IMAGE_PPI {
|
struct _EFI_PEI_LOADED_IMAGE_PPI {
|
||||||
EFI_PHYSICAL_ADDRESS ImageAddress;
|
EFI_PHYSICAL_ADDRESS ImageAddress;
|
||||||
UINT64 ImageSize;
|
UINT64 ImageSize;
|
||||||
EFI_PEI_FILE_HANDLE FileHandle;
|
EFI_PEI_FILE_HANDLE FileHandle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -83,10 +83,10 @@ typedef struct {
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_PCI_CFG_PPI_IO) (
|
(EFIAPI *EFI_PEI_PCI_CFG_PPI_IO) (
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
|
IN CONST EFI_PEI_PCI_CFG2_PPI *This,
|
||||||
IN CONST EFI_PEI_PCI_CFG_PPI_WIDTH Width,
|
IN CONST EFI_PEI_PCI_CFG_PPI_WIDTH Width,
|
||||||
IN CONST UINT64 Address,
|
IN CONST UINT64 Address,
|
||||||
IN OUT VOID *Buffer
|
IN OUT VOID *Buffer
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -22,31 +22,31 @@
|
||||||
#define __PEI_READ_ONLY_VARIABLE2_PPI_H__
|
#define __PEI_READ_ONLY_VARIABLE2_PPI_H__
|
||||||
|
|
||||||
#define EFI_PEI_READ_ONLY_VARIABLE2_PPI_GUID \
|
#define EFI_PEI_READ_ONLY_VARIABLE2_PPI_GUID \
|
||||||
{ 0x2ab86ef5, 0xecb5, 0x4134, { 0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4 } }
|
{ 0x2ab86ef5, 0xecb5, 0x4134, { 0xb5, 0x56, 0x38, 0x54, 0xca, 0x1f, 0xe1, 0xb4 } }
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI;
|
typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Read the specified variable from the UEFI variable store. If the Data
|
Read the specified variable from the UEFI variable store. If the Data
|
||||||
buffer is too small to hold the contents of the variable,
|
buffer is too small to hold the contents of the variable,
|
||||||
the error EFI_BUFFER_TOO_SMALL is returned and DataSize is set to the
|
the error EFI_BUFFER_TOO_SMALL is returned and DataSize is set to the
|
||||||
required buffer size to obtain the data.
|
required buffer size to obtain the data.
|
||||||
|
|
||||||
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
||||||
|
|
||||||
@param VariableName A pointer to a null-terminated string that is the variable¡¯s name.
|
@param VariableName A pointer to a null-terminated string that is the variable¡¯s name.
|
||||||
|
|
||||||
@param VendorGuid A pointer to an EFI_GUID that is the variable¡¯s GUID. The combination of
|
@param VendorGuid A pointer to an EFI_GUID that is the variable¡¯s GUID. The combination of
|
||||||
VariableGuid and VariableName must be unique.
|
VariableGuid and VariableName must be unique.
|
||||||
|
|
||||||
@param Attributes If non-NULL, on return, points to the variable¡¯s attributes. See ¡°Related Definitons¡±
|
@param Attributes If non-NULL, on return, points to the variable¡¯s attributes. See ¡°Related Definitons¡±
|
||||||
below for possible attribute values.
|
below for possible attribute values.
|
||||||
|
|
||||||
@param DataSize On entry, points to the size in bytes of the Data buffer. On return, points to the size of
|
@param DataSize On entry, points to the size in bytes of the Data buffer. On return, points to the size of
|
||||||
the data returned in Data.
|
the data returned in Data.
|
||||||
|
|
||||||
@param Data Points to the buffer which will hold the returned variable value.
|
@param Data Points to the buffer which will hold the returned variable value.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_SUCCESS The function completed successfully.
|
||||||
|
@ -54,8 +54,8 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI
|
||||||
@retval EFI_NOT_FOUND The variable was not found.
|
@retval EFI_NOT_FOUND The variable was not found.
|
||||||
|
|
||||||
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data.
|
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data.
|
||||||
DataSize is updated with the size required for
|
DataSize is updated with the size required for
|
||||||
the specified variable.
|
the specified variable.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER VariableName, VariableGuid, DataSize or Data is NULL.
|
@retval EFI_INVALID_PARAMETER VariableName, VariableGuid, DataSize or Data is NULL.
|
||||||
|
|
||||||
|
@ -65,32 +65,32 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI EFI_PEI_READ_ONLY_VARIABLE2_PPI
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_GET_VARIABLE2)(
|
(EFIAPI *EFI_PEI_GET_VARIABLE2)(
|
||||||
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
||||||
IN CONST CHAR16 *VariableName,
|
IN CONST CHAR16 *VariableName,
|
||||||
IN CONST EFI_GUID *VariableGuid,
|
IN CONST EFI_GUID *VariableGuid,
|
||||||
OUT UINT32 *Attributes,
|
OUT UINT32 *Attributes,
|
||||||
IN OUT UINTN *DataSize,
|
IN OUT UINTN *DataSize,
|
||||||
OUT VOID *Data
|
OUT VOID *Data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function is called multiple times to retrieve the VariableName
|
This function is called multiple times to retrieve the VariableName
|
||||||
and VariableGuid of all variables currently available in the system.
|
and VariableGuid of all variables currently available in the system.
|
||||||
On each call, the previous results are passed into the interface,
|
On each call, the previous results are passed into the interface,
|
||||||
and, on return, the interface returns the data for the next
|
and, on return, the interface returns the data for the next
|
||||||
interface. When the entire variable list has been returned,
|
interface. When the entire variable list has been returned,
|
||||||
EFI_NOT_FOUND is returned.
|
EFI_NOT_FOUND is returned.
|
||||||
|
|
||||||
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.
|
||||||
|
|
||||||
@param VariableNameSize On entry, points to the size of the buffer pointed to by VariableName.
|
@param VariableNameSize On entry, points to the size of the buffer pointed to by VariableName.
|
||||||
|
|
||||||
@param VariableName On entry, a pointer to a null-terminated string that is the variable¡¯s name.
|
@param VariableName On entry, a pointer to a null-terminated string that is the variable¡¯s name.
|
||||||
On return, points to the next variable¡¯s null-terminated name string.
|
On return, points to the next variable¡¯s null-terminated name string.
|
||||||
|
|
||||||
@param VendorGuid On entry, a pointer to an UEFI _GUID that is the variable¡¯s GUID.
|
@param VendorGuid On entry, a pointer to an UEFI _GUID that is the variable¡¯s GUID.
|
||||||
On return, a pointer to the next variable¡¯s GUID.
|
On return, a pointer to the next variable¡¯s GUID.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The variable was read successfully.
|
@retval EFI_SUCCESS The variable was read successfully.
|
||||||
|
@ -98,11 +98,11 @@ EFI_STATUS
|
||||||
@retval EFI_NOT_FOUND The variable could not be found.
|
@retval EFI_NOT_FOUND The variable could not be found.
|
||||||
|
|
||||||
@retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the resulting
|
@retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the resulting
|
||||||
data. VariableNameSize is updated with the size
|
data. VariableNameSize is updated with the size
|
||||||
required for the specified variable.
|
required for the specified variable.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER VariableName, VariableGuid or
|
@retval EFI_INVALID_PARAMETER VariableName, VariableGuid or
|
||||||
VariableNameSize is NULL.
|
VariableNameSize is NULL.
|
||||||
|
|
||||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved because of a device error.
|
@retval EFI_DEVICE_ERROR The variable could not be retrieved because of a device error.
|
||||||
|
|
||||||
|
@ -110,10 +110,10 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_NEXT_VARIABLE_NAME2) (
|
(EFIAPI *EFI_PEI_NEXT_VARIABLE_NAME2) (
|
||||||
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
IN CONST EFI_PEI_READ_ONLY_VARIABLE2_PPI *This,
|
||||||
IN OUT UINTN *VariableNameSize,
|
IN OUT UINTN *VariableNameSize,
|
||||||
IN OUT CHAR16 *VariableName,
|
IN OUT CHAR16 *VariableName,
|
||||||
IN OUT EFI_GUID *VariableGuid
|
IN OUT EFI_GUID *VariableGuid
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -128,8 +128,8 @@ EFI_STATUS
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {
|
struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {
|
||||||
EFI_PEI_GET_VARIABLE2 GetVariable;
|
EFI_PEI_GET_VARIABLE2 GetVariable;
|
||||||
EFI_PEI_NEXT_VARIABLE_NAME2 NextVariableName;
|
EFI_PEI_NEXT_VARIABLE_NAME2 NextVariableName;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiReadOnlyVariable2PpiGuid;
|
extern EFI_GUID gEfiPeiReadOnlyVariable2PpiGuid;
|
||||||
|
|
|
@ -66,14 +66,14 @@ typedef struct {
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_SEC_PLATFORM_INFORMATION) (
|
(EFIAPI *EFI_SEC_PLATFORM_INFORMATION) (
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN OUT UINT64 *StructureSize,
|
IN OUT UINT64 *StructureSize,
|
||||||
OUT EFI_SEC_PLATFORM_INFORMATION_RECORD *PlatformInformationRecord
|
OUT EFI_SEC_PLATFORM_INFORMATION_RECORD *PlatformInformationRecord
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Ppi Description:
|
Ppi Description:
|
||||||
|
|
||||||
@param Name
|
@param Name
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <IndustryStandard/SmBus.h>
|
#include <IndustryStandard/SmBus.h>
|
||||||
|
|
||||||
#define EFI_PEI_SMBUS2_PPI_GUID \
|
#define EFI_PEI_SMBUS2_PPI_GUID \
|
||||||
{ 0x9ca93627, 0xb65b, 0x4324, { 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43 } }
|
{ 0x9ca93627, 0xb65b, 0x4324, { 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43 } }
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;
|
typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;
|
||||||
|
@ -32,36 +32,36 @@ typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;
|
||||||
//
|
//
|
||||||
// EFI_SMBUS_DEVICE_COMMAND
|
// EFI_SMBUS_DEVICE_COMMAND
|
||||||
//
|
//
|
||||||
typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Executes an SMBus operation to an SMBus controller.
|
Executes an SMBus operation to an SMBus controller.
|
||||||
|
|
||||||
@param This A pointer to the EFI_PEI_SMBUS2_PPI instance.
|
@param This A pointer to the EFI_PEI_SMBUS2_PPI instance.
|
||||||
@param SlaveAddress The SMBUS hardware address to which the SMBUS device is preassigned or
|
@param SlaveAddress The SMBUS hardware address to which the SMBUS device is preassigned or
|
||||||
allocated.
|
allocated.
|
||||||
@param Command This command is transmitted by the SMBus host controller to the SMBus slave
|
@param Command This command is transmitted by the SMBus host controller to the SMBus slave
|
||||||
device and the interpretation is SMBus slave device specific.
|
device and the interpretation is SMBus slave device specific.
|
||||||
It can mean the offset to a list of functions inside
|
It can mean the offset to a list of functions inside
|
||||||
an SMBus slave device. Not all operations or slave devices support
|
an SMBus slave device. Not all operations or slave devices support
|
||||||
this command's registers.
|
this command's registers.
|
||||||
|
|
||||||
@param Operation Signifies which particular SMBus hardware protocol instance that it
|
@param Operation Signifies which particular SMBus hardware protocol instance that it
|
||||||
will use to execute the SMBus transactions.
|
will use to execute the SMBus transactions.
|
||||||
This SMBus hardware protocol is defined by the System Management Bus (SMBus)
|
This SMBus hardware protocol is defined by the System Management Bus (SMBus)
|
||||||
Specification and is not related to UEFI.
|
Specification and is not related to UEFI.
|
||||||
|
|
||||||
@param PecCheck Defines if Packet Error Code (PEC) checking is required for this operation.
|
@param PecCheck Defines if Packet Error Code (PEC) checking is required for this operation.
|
||||||
|
|
||||||
@param Length Signifies the number of bytes that this operation will do.
|
@param Length Signifies the number of bytes that this operation will do.
|
||||||
The maximum number of bytes can be revision specific and operation specific.
|
The maximum number of bytes can be revision specific and operation specific.
|
||||||
This parameter will contain the actual number of bytes that are executed
|
This parameter will contain the actual number of bytes that are executed
|
||||||
for this operation. Not all operations require this argument.
|
for this operation. Not all operations require this argument.
|
||||||
|
|
||||||
@param Buffer Contains the value of data to execute to the SMBus slave device.
|
@param Buffer Contains the value of data to execute to the SMBus slave device.
|
||||||
Not all operations require this argument.
|
Not all operations require this argument.
|
||||||
The length of this buffer is identified by Length.
|
The length of this buffer is identified by Length.
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The last data that was returned from the access
|
@retval EFI_SUCCESS The last data that was returned from the access
|
||||||
|
@ -83,13 +83,13 @@ typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION) (
|
(EFIAPI *EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION) (
|
||||||
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
||||||
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
||||||
IN CONST EFI_SMBUS_DEVICE_COMMAND Command,
|
IN CONST EFI_SMBUS_DEVICE_COMMAND Command,
|
||||||
IN CONST EFI_SMBUS_OPERATION Operation,
|
IN CONST EFI_SMBUS_OPERATION Operation,
|
||||||
IN CONST BOOLEAN PecCheck,
|
IN CONST BOOLEAN PecCheck,
|
||||||
IN OUT UINTN *Length,
|
IN OUT UINTN *Length,
|
||||||
IN OUT VOID *Buffer
|
IN OUT VOID *Buffer
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,9 +119,9 @@ typedef struct {
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_SMBUS_NOTIFY2_FUNCTION) (
|
(EFIAPI *EFI_PEI_SMBUS_NOTIFY2_FUNCTION) (
|
||||||
IN CONST EFI_PEI_SMBUS2_PPI *SmbusPpi,
|
IN CONST EFI_PEI_SMBUS2_PPI *SmbusPpi,
|
||||||
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
||||||
IN CONST UINTN Data
|
IN CONST UINTN Data
|
||||||
);
|
);
|
||||||
/**
|
/**
|
||||||
The ArpDevice() function enumerates the entire bus or enumerates a specific
|
The ArpDevice() function enumerates the entire bus or enumerates a specific
|
||||||
|
@ -149,10 +149,10 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_SMBUS2_PPI_ARP_DEVICE) (
|
(EFIAPI *EFI_PEI_SMBUS2_PPI_ARP_DEVICE) (
|
||||||
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
||||||
IN CONST BOOLEAN ArpAll,
|
IN CONST BOOLEAN ArpAll,
|
||||||
IN CONST EFI_SMBUS_UDID *SmbusUdid, OPTIONAL
|
IN CONST EFI_SMBUS_UDID *SmbusUdid, OPTIONAL
|
||||||
IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
|
IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -176,9 +176,9 @@ typedef struct {
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_SMBUS2_PPI_GET_ARP_MAP) (
|
(EFIAPI *EFI_PEI_SMBUS2_PPI_GET_ARP_MAP) (
|
||||||
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
||||||
IN OUT UINTN *Length,
|
IN OUT UINTN *Length,
|
||||||
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
|
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,10 +201,10 @@ EFI_STATUS
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI *EFI_PEI_SMBUS2_PPI_NOTIFY) (
|
(EFIAPI *EFI_PEI_SMBUS2_PPI_NOTIFY) (
|
||||||
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
IN CONST EFI_PEI_SMBUS2_PPI *This,
|
||||||
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
IN CONST EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
|
||||||
IN CONST UINTN Data,
|
IN CONST UINTN Data,
|
||||||
IN CONST EFI_PEI_SMBUS_NOTIFY2_FUNCTION NotifyFunction
|
IN CONST EFI_PEI_SMBUS_NOTIFY2_FUNCTION NotifyFunction
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -231,11 +231,11 @@ EFI_STATUS
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PEI_SMBUS2_PPI {
|
struct _EFI_PEI_SMBUS2_PPI {
|
||||||
EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION Execute;
|
EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION Execute;
|
||||||
EFI_PEI_SMBUS2_PPI_ARP_DEVICE ArpDevice;
|
EFI_PEI_SMBUS2_PPI_ARP_DEVICE ArpDevice;
|
||||||
EFI_PEI_SMBUS2_PPI_GET_ARP_MAP GetArpMap;
|
EFI_PEI_SMBUS2_PPI_GET_ARP_MAP GetArpMap;
|
||||||
EFI_PEI_SMBUS2_PPI_NOTIFY Notify;
|
EFI_PEI_SMBUS2_PPI_NOTIFY Notify;
|
||||||
EFI_GUID Identifier;
|
EFI_GUID Identifier;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiSmbus2PpiGuid;
|
extern EFI_GUID gEfiPeiSmbus2PpiGuid;
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#define __STALL_PPI_H__
|
#define __STALL_PPI_H__
|
||||||
|
|
||||||
#define EFI_PEI_STALL_PPI_GUID \
|
#define EFI_PEI_STALL_PPI_GUID \
|
||||||
{ 0x1f4c6f90, 0xb06b, 0x48d8, {0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 } }
|
{ 0x1f4c6f90, 0xb06b, 0x48d8, {0xa2, 0x01, 0xba, 0xe5, 0xf1, 0xcd, 0x7d, 0x56 } }
|
||||||
|
|
||||||
typedef struct _EFI_PEI_STALL_PPI EFI_PEI_STALL_PPI;
|
typedef struct _EFI_PEI_STALL_PPI EFI_PEI_STALL_PPI;
|
||||||
|
|
||||||
|
|
|
@ -22,44 +22,44 @@
|
||||||
#define __TEMPORARY_RAM_SUPPORT_H__
|
#define __TEMPORARY_RAM_SUPPORT_H__
|
||||||
|
|
||||||
#define TEMPORARY_RAM_SUPPORT_PPI_GUID \
|
#define TEMPORARY_RAM_SUPPORT_PPI_GUID \
|
||||||
{ 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }
|
{ 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
This service of the TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
|
This service of the TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
|
||||||
permanent memory.
|
permanent memory.
|
||||||
|
|
||||||
@param PeiServices Pointer to the PEI Services Table.
|
@param PeiServices Pointer to the PEI Services Table.
|
||||||
|
|
||||||
@param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the
|
@param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the
|
||||||
Temporary RAM contents.
|
Temporary RAM contents.
|
||||||
|
|
||||||
@param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the
|
@param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the
|
||||||
Temporary RAM contents.
|
Temporary RAM contents.
|
||||||
|
|
||||||
@param CopySize Amount of memory to migrate from temporary to permanent memory.
|
@param CopySize Amount of memory to migrate from temporary to permanent memory.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The data was successfully returned.
|
@retval EFI_SUCCESS The data was successfully returned.
|
||||||
|
|
||||||
@retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize >
|
@retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize >
|
||||||
TemporaryMemoryBase when TemporaryMemoryBase >
|
TemporaryMemoryBase when TemporaryMemoryBase >
|
||||||
PermanentMemoryBase.
|
PermanentMemoryBase.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
(EFIAPI * TEMPORARY_RAM_MIGRATION) (
|
(EFIAPI * TEMPORARY_RAM_MIGRATION) (
|
||||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||||
IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,
|
IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,
|
||||||
IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,
|
IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,
|
||||||
IN UINTN CopySize
|
IN UINTN CopySize
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
TEMPORARY_RAM_MIGRATION TemporaryRamMigration;
|
TEMPORARY_RAM_MIGRATION TemporaryRamMigration;
|
||||||
} TEMPORARY_RAM_SUPPORT_PPI;
|
} TEMPORARY_RAM_SUPPORT_PPI;
|
||||||
|
|
||||||
extern EFI_GUID gEfiPeiTemporaryRamSupportPpiGuid;
|
extern EFI_GUID gEfiPeiTemporaryRamSupportPpiGuid;
|
||||||
|
|
|
@ -22,23 +22,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
//
|
//
|
||||||
// Basical data type definitions introduced in UEFI.
|
// Basical data type definitions introduced in UEFI.
|
||||||
//
|
//
|
||||||
typedef GUID EFI_GUID;
|
typedef GUID EFI_GUID;
|
||||||
typedef RETURN_STATUS EFI_STATUS;
|
typedef RETURN_STATUS EFI_STATUS;
|
||||||
typedef VOID *EFI_HANDLE;
|
typedef VOID *EFI_HANDLE;
|
||||||
|
|
||||||
typedef VOID *EFI_EVENT;
|
typedef VOID *EFI_EVENT;
|
||||||
|
|
||||||
typedef UINTN EFI_TPL;
|
typedef UINTN EFI_TPL;
|
||||||
|
|
||||||
|
|
||||||
typedef UINT64 EFI_LBA;
|
typedef UINT64 EFI_LBA;
|
||||||
|
|
||||||
|
|
||||||
typedef UINT16 EFI_HII_HANDLE;
|
typedef UINT16 EFI_HII_HANDLE;
|
||||||
typedef UINT16 STRING_REF;
|
typedef UINT16 STRING_REF;
|
||||||
|
|
||||||
typedef UINT64 EFI_PHYSICAL_ADDRESS;
|
typedef UINT64 EFI_PHYSICAL_ADDRESS;
|
||||||
typedef UINT64 EFI_VIRTUAL_ADDRESS;
|
typedef UINT64 EFI_VIRTUAL_ADDRESS;
|
||||||
|
|
||||||
//
|
//
|
||||||
// EFI Time Abstraction:
|
// EFI Time Abstraction:
|
||||||
|
@ -105,12 +105,12 @@ typedef struct {
|
||||||
#define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL
|
#define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL
|
||||||
|
|
||||||
|
|
||||||
#define NULL_HANDLE ((VOID *) 0)
|
#define NULL_HANDLE ((VOID *) 0)
|
||||||
|
|
||||||
//
|
//
|
||||||
// Define macro to encode the status code.
|
// Define macro to encode the status code.
|
||||||
//
|
//
|
||||||
#define EFIERR(_a) ENCODE_ERROR(_a)
|
#define EFIERR(_a) ENCODE_ERROR(_a)
|
||||||
|
|
||||||
#define EFI_ERROR(A) RETURN_ERROR(A)
|
#define EFI_ERROR(A) RETURN_ERROR(A)
|
||||||
|
|
||||||
|
@ -133,9 +133,9 @@ typedef struct {
|
||||||
// 4K. This should in no way be confused with the page size of the processor.
|
// 4K. This should in no way be confused with the page size of the processor.
|
||||||
// An EFI_PAGE is just the quanta of memory in EFI.
|
// An EFI_PAGE is just the quanta of memory in EFI.
|
||||||
//
|
//
|
||||||
#define EFI_PAGE_SIZE 0x1000
|
#define EFI_PAGE_SIZE 0x1000
|
||||||
#define EFI_PAGE_MASK 0xFFF
|
#define EFI_PAGE_MASK 0xFFF
|
||||||
#define EFI_PAGE_SHIFT 12
|
#define EFI_PAGE_SHIFT 12
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -180,12 +180,12 @@ typedef struct {
|
||||||
UINT8 Lun;
|
UINT8 Lun;
|
||||||
} DEVICE_LOGICAL_UNIT_DEVICE_PATH;
|
} DEVICE_LOGICAL_UNIT_DEVICE_PATH;
|
||||||
|
|
||||||
#define MSG_SATA_DP 0x12
|
#define MSG_SATA_DP 0x12
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||||
UINT16 HbaPortNumber;
|
UINT16 HbaPortNumber;
|
||||||
UINT16 PortMultiplierPort;
|
UINT16 PortMultiplierPort;
|
||||||
UINT16 LogicalUnitNumber;
|
UINT16 LogicalUnitNumber;
|
||||||
} SATA_DEVICE_PATH;
|
} SATA_DEVICE_PATH;
|
||||||
|
|
||||||
#define MSG_I2O_DP 0x06
|
#define MSG_I2O_DP 0x06
|
||||||
|
@ -253,7 +253,7 @@ typedef struct {
|
||||||
// Use VENDOR_DEVICE_PATH struct
|
// Use VENDOR_DEVICE_PATH struct
|
||||||
//
|
//
|
||||||
#define MSG_VENDOR_DP 0x0a
|
#define MSG_VENDOR_DP 0x0a
|
||||||
typedef VENDOR_DEVICE_PATH VENDOR_DEFINED_DEVICE_PATH;
|
typedef VENDOR_DEVICE_PATH VENDOR_DEFINED_DEVICE_PATH;
|
||||||
|
|
||||||
#define DEVICE_PATH_MESSAGING_PC_ANSI EFI_PC_ANSI_GUID
|
#define DEVICE_PATH_MESSAGING_PC_ANSI EFI_PC_ANSI_GUID
|
||||||
#define DEVICE_PATH_MESSAGING_VT_100 EFI_VT_100_GUID
|
#define DEVICE_PATH_MESSAGING_VT_100 EFI_VT_100_GUID
|
||||||
|
@ -350,11 +350,11 @@ typedef struct {
|
||||||
} MEDIA_PROTOCOL_DEVICE_PATH;
|
} MEDIA_PROTOCOL_DEVICE_PATH;
|
||||||
|
|
||||||
|
|
||||||
#define MEDIA_PIWG_FW_VOL_DP 0x6
|
#define MEDIA_PIWG_FW_VOL_DP 0x6
|
||||||
typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
||||||
|
|
||||||
|
|
||||||
#define MEDIA_PIWG_FW_FILE_DP 0x7
|
#define MEDIA_PIWG_FW_FILE_DP 0x7
|
||||||
typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_DEVICE_PATH;
|
typedef MEDIA_PROTOCOL_DEVICE_PATH MEDIA_FW_VOL_DEVICE_PATH;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
/** @file
|
/** @file
|
||||||
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
|
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
|
||||||
|
|
||||||
Copyright (c) 2006, Intel Corporation
|
Copyright (c) 2006, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name: UefiMultiPhase.h
|
Module Name: UefiMultiPhase.h
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -21,21 +21,21 @@
|
||||||
// Enumeration of memory types introduced in UEFI.
|
// Enumeration of memory types introduced in UEFI.
|
||||||
//
|
//
|
||||||
typedef enum {
|
typedef enum {
|
||||||
EfiReservedMemoryType,
|
EfiReservedMemoryType,
|
||||||
EfiLoaderCode,
|
EfiLoaderCode,
|
||||||
EfiLoaderData,
|
EfiLoaderData,
|
||||||
EfiBootServicesCode,
|
EfiBootServicesCode,
|
||||||
EfiBootServicesData,
|
EfiBootServicesData,
|
||||||
EfiRuntimeServicesCode,
|
EfiRuntimeServicesCode,
|
||||||
EfiRuntimeServicesData,
|
EfiRuntimeServicesData,
|
||||||
EfiConventionalMemory,
|
EfiConventionalMemory,
|
||||||
EfiUnusableMemory,
|
EfiUnusableMemory,
|
||||||
EfiACPIReclaimMemory,
|
EfiACPIReclaimMemory,
|
||||||
EfiACPIMemoryNVS,
|
EfiACPIMemoryNVS,
|
||||||
EfiMemoryMappedIO,
|
EfiMemoryMappedIO,
|
||||||
EfiMemoryMappedIOPortSpace,
|
EfiMemoryMappedIOPortSpace,
|
||||||
EfiPalCode,
|
EfiPalCode,
|
||||||
EfiMaxMemoryType
|
EfiMaxMemoryType
|
||||||
} EFI_MEMORY_TYPE;
|
} EFI_MEMORY_TYPE;
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,56 +43,56 @@ typedef enum {
|
||||||
// Data structure that precedes all of the standard EFI table types.
|
// Data structure that precedes all of the standard EFI table types.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT64 Signature;
|
UINT64 Signature;
|
||||||
UINT32 Revision;
|
UINT32 Revision;
|
||||||
UINT32 HeaderSize;
|
UINT32 HeaderSize;
|
||||||
UINT32 CRC32;
|
UINT32 CRC32;
|
||||||
UINT32 Reserved;
|
UINT32 Reserved;
|
||||||
} EFI_TABLE_HEADER;
|
} EFI_TABLE_HEADER;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Attributes of variable.
|
// Attributes of variable.
|
||||||
//
|
//
|
||||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
||||||
|
|
||||||
//
|
//
|
||||||
// This attribute is identified by the mnemonic 'HR'
|
// This attribute is identified by the mnemonic 'HR'
|
||||||
// elsewhere in this specification.
|
// elsewhere in this specification.
|
||||||
//
|
//
|
||||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// _WIN_CERTIFICATE.wCertificateType
|
// _WIN_CERTIFICATE.wCertificateType
|
||||||
//
|
//
|
||||||
#define WIN_CERT_TYPE_EFI_PKCS115 0x0EF0
|
#define WIN_CERT_TYPE_EFI_PKCS115 0x0EF0
|
||||||
#define WIN_CERT_TYPE_EFI_GUID 0x0EF1
|
#define WIN_CERT_TYPE_EFI_GUID 0x0EF1
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
The WIN_CERTIFICATE structure is part of the PE/COFF
|
The WIN_CERTIFICATE structure is part of the PE/COFF
|
||||||
specification and has the following definition:
|
specification and has the following definition:
|
||||||
|
|
||||||
@param dwLength The length of the entire certificate,
|
@param dwLength The length of the entire certificate,
|
||||||
including the length of the header, in
|
including the length of the header, in
|
||||||
bytes.
|
bytes.
|
||||||
|
|
||||||
@param wRevision The revision level of the WIN_CERTIFICATE
|
@param wRevision The revision level of the WIN_CERTIFICATE
|
||||||
structure. The current revision level is
|
structure. The current revision level is
|
||||||
0x0200.
|
0x0200.
|
||||||
|
|
||||||
@param wCertificateType The certificate type. See
|
@param wCertificateType The certificate type. See
|
||||||
WIN_CERT_TYPE_xxx for the UEFI
|
WIN_CERT_TYPE_xxx for the UEFI
|
||||||
certificate types. The UEFI
|
certificate types. The UEFI
|
||||||
specification reserves the range of
|
specification reserves the range of
|
||||||
certificate type values from 0x0EF0
|
certificate type values from 0x0EF0
|
||||||
to 0x0EFF.
|
to 0x0EFF.
|
||||||
|
|
||||||
@param bCertificate The actual certificate. The format of
|
@param bCertificate The actual certificate. The format of
|
||||||
the certificate depends on
|
the certificate depends on
|
||||||
wCertificateType. The format of the UEFI
|
wCertificateType. The format of the UEFI
|
||||||
certificates is defined below.
|
certificates is defined below.
|
||||||
|
@ -100,31 +100,31 @@ typedef struct {
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct _WIN_CERTIFICATE {
|
typedef struct _WIN_CERTIFICATE {
|
||||||
UINT32 dwLength;
|
UINT32 dwLength;
|
||||||
UINT16 wRevision;
|
UINT16 wRevision;
|
||||||
UINT16 wCertificateType;
|
UINT16 wCertificateType;
|
||||||
//UINT8 bCertificate[ANYSIZE_ARRAY];
|
//UINT8 bCertificate[ANYSIZE_ARRAY];
|
||||||
} WIN_CERTIFICATE;
|
} WIN_CERTIFICATE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// WIN_CERTIFICATE_UEFI_GUID.CertType
|
// WIN_CERTIFICATE_UEFI_GUID.CertType
|
||||||
//
|
//
|
||||||
#define EFI_CERT_TYPE_RSA2048_SHA256_GUID \
|
#define EFI_CERT_TYPE_RSA2048_SHA256_GUID \
|
||||||
{0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf } }
|
{0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf } }
|
||||||
|
|
||||||
//
|
//
|
||||||
// WIN_CERTIFICATE_UEFI_GUID.CertData
|
// WIN_CERTIFICATE_UEFI_GUID.CertData
|
||||||
//
|
//
|
||||||
typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
|
typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
|
||||||
UINT32 HashType;
|
UINT32 HashType;
|
||||||
UINT8 PublicKey[256];
|
UINT8 PublicKey[256];
|
||||||
UINT8 Signature[256];
|
UINT8 Signature[256];
|
||||||
} EFI_CERT_BLOCK_RSA_2048_SHA256;
|
} EFI_CERT_BLOCK_RSA_2048_SHA256;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@param Hdr This is the standard WIN_CERTIFICATE header, where
|
@param Hdr This is the standard WIN_CERTIFICATE header, where
|
||||||
wCertificateType is set to
|
wCertificateType is set to
|
||||||
WIN_CERT_TYPE_UEFI_GUID.
|
WIN_CERT_TYPE_UEFI_GUID.
|
||||||
|
|
||||||
|
@ -132,12 +132,12 @@ typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
|
||||||
format of the CertData. In this case, the
|
format of the CertData. In this case, the
|
||||||
value is EFI_CERT_TYPE_RSA2048_SHA256_GUID.
|
value is EFI_CERT_TYPE_RSA2048_SHA256_GUID.
|
||||||
|
|
||||||
@param CertData This is the certificate data. The format of
|
@param CertData This is the certificate data. The format of
|
||||||
the data is determined by the CertType. In
|
the data is determined by the CertType. In
|
||||||
this case the value is
|
this case the value is
|
||||||
EFI_CERT_BLOCK_RSA_2048_SHA256.
|
EFI_CERT_BLOCK_RSA_2048_SHA256.
|
||||||
|
|
||||||
@param Information The WIN_CERTIFICATE_UEFI_GUID certificate
|
@param Information The WIN_CERTIFICATE_UEFI_GUID certificate
|
||||||
type allows new types of certificates to
|
type allows new types of certificates to
|
||||||
be developed for driver authentication
|
be developed for driver authentication
|
||||||
without requiring a new certificate type.
|
without requiring a new certificate type.
|
||||||
|
@ -149,9 +149,9 @@ typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct _WIN_CERTIFICATE_UEFI_GUID {
|
typedef struct _WIN_CERTIFICATE_UEFI_GUID {
|
||||||
WIN_CERTIFICATE Hdr;
|
WIN_CERTIFICATE Hdr;
|
||||||
EFI_GUID CertType;
|
EFI_GUID CertType;
|
||||||
// UINT8 CertData[ANYSIZE_ARRAY];
|
// UINT8 CertData[ANYSIZE_ARRAY];
|
||||||
} WIN_CERTIFICATE_UEFI_GUID;
|
} WIN_CERTIFICATE_UEFI_GUID;
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,9 +165,9 @@ typedef struct _WIN_CERTIFICATE_UEFI_GUID {
|
||||||
signature.
|
signature.
|
||||||
|
|
||||||
The WIN_CERTIFICATE_UEFI_PKCS1_15 structure is derived from
|
The WIN_CERTIFICATE_UEFI_PKCS1_15 structure is derived from
|
||||||
WIN_CERTIFICATE and encapsulate the information needed to
|
WIN_CERTIFICATE and encapsulate the information needed to
|
||||||
implement the RSASSA-PKCS1-v1_5 digital signature algorithm as
|
implement the RSASSA-PKCS1-v1_5 digital signature algorithm as
|
||||||
specified in RFC2437.
|
specified in RFC2437.
|
||||||
|
|
||||||
@param Hdr This is the standard WIN_CERTIFICATE header, where
|
@param Hdr This is the standard WIN_CERTIFICATE header, where
|
||||||
wCertificateType is set to
|
wCertificateType is set to
|
||||||
|
@ -180,7 +180,7 @@ typedef struct _WIN_CERTIFICATE_UEFI_GUID {
|
||||||
in Section 26.4.1. See
|
in Section 26.4.1. See
|
||||||
EFI_HASH_ALGORITHM_x.
|
EFI_HASH_ALGORITHM_x.
|
||||||
|
|
||||||
@param Signature This is the actual digital signature. The
|
@param Signature This is the actual digital signature. The
|
||||||
size of the signature is the same size as
|
size of the signature is the same size as
|
||||||
the key (1024-bit key is 128 bytes) and can
|
the key (1024-bit key is 128 bytes) and can
|
||||||
be determined by subtracting the length of
|
be determined by subtracting the length of
|
||||||
|
@ -190,34 +190,34 @@ typedef struct _WIN_CERTIFICATE_UEFI_GUID {
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct _WIN_CERTIFICATE_EFI_PKCS1_15 {
|
typedef struct _WIN_CERTIFICATE_EFI_PKCS1_15 {
|
||||||
WIN_CERTIFICATE Hdr;
|
WIN_CERTIFICATE Hdr;
|
||||||
EFI_GUID HashAlgorithm;
|
EFI_GUID HashAlgorithm;
|
||||||
// UINT8 Signature[ANYSIZE_ARRAY];
|
// UINT8 Signature[ANYSIZE_ARRAY];
|
||||||
} WIN_CERTIFICATE_EFI_PKCS1_15;
|
} WIN_CERTIFICATE_EFI_PKCS1_15;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
AuthInfo is a WIN_CERTIFICATE using the wCertificateType
|
AuthInfo is a WIN_CERTIFICATE using the wCertificateType
|
||||||
WIN_CERTIFICATE_UEFI_GUID and the CertType
|
WIN_CERTIFICATE_UEFI_GUID and the CertType
|
||||||
EFI_CERT_TYPE_RSA2048_SHA256. If the attribute specifies
|
EFI_CERT_TYPE_RSA2048_SHA256. If the attribute specifies
|
||||||
authenticated access, then the Data buffer should begin with an
|
authenticated access, then the Data buffer should begin with an
|
||||||
authentication descriptor prior to the data payload and DataSize
|
authentication descriptor prior to the data payload and DataSize
|
||||||
should reflect the the data.and descriptor size. The caller
|
should reflect the the data.and descriptor size. The caller
|
||||||
shall digest the Monotonic Count value and the associated data
|
shall digest the Monotonic Count value and the associated data
|
||||||
for the variable update using the SHA-256 1-way hash algorithm.
|
for the variable update using the SHA-256 1-way hash algorithm.
|
||||||
The ensuing the 32-byte digest will be signed using the private
|
The ensuing the 32-byte digest will be signed using the private
|
||||||
key associated w/ the public/private 2048-bit RSA key-pair. The
|
key associated w/ the public/private 2048-bit RSA key-pair. The
|
||||||
WIN_CERTIFICATE shall be used to describe the signature of the
|
WIN_CERTIFICATE shall be used to describe the signature of the
|
||||||
Variable data *Data. In addition, the signature will also
|
Variable data *Data. In addition, the signature will also
|
||||||
include the MonotonicCount value to guard against replay attacks
|
include the MonotonicCount value to guard against replay attacks
|
||||||
|
|
||||||
@param MonotonicCount Included in the signature of
|
@param MonotonicCount Included in the signature of
|
||||||
AuthInfo.Used to ensure freshness/no
|
AuthInfo.Used to ensure freshness/no
|
||||||
replay. Incremented during each
|
replay. Incremented during each
|
||||||
"Write" access.
|
"Write" access.
|
||||||
|
|
||||||
@param AuthInfo Provides the authorization for the variable
|
@param AuthInfo Provides the authorization for the variable
|
||||||
access. It is a signature across the
|
access. It is a signature across the
|
||||||
variable data and the Monotonic Count
|
variable data and the Monotonic Count
|
||||||
value. Caller uses Private key that is
|
value. Caller uses Private key that is
|
||||||
|
@ -226,8 +226,8 @@ typedef struct _WIN_CERTIFICATE_EFI_PKCS1_15 {
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT64 MonotonicCount;
|
UINT64 MonotonicCount;
|
||||||
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
|
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
|
||||||
} EFI_VARIABLE_AUTHENTICATION;
|
} EFI_VARIABLE_AUTHENTICATION;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -72,9 +72,9 @@ typedef enum {
|
||||||
//
|
//
|
||||||
// physical memory protection on range
|
// physical memory protection on range
|
||||||
//
|
//
|
||||||
#define EFI_MEMORY_WP 0x0000000000001000ULL
|
#define EFI_MEMORY_WP 0x0000000000001000ULL
|
||||||
#define EFI_MEMORY_RP 0x0000000000002000ULL
|
#define EFI_MEMORY_RP 0x0000000000002000ULL
|
||||||
#define EFI_MEMORY_XP 0x0000000000004000ULL
|
#define EFI_MEMORY_XP 0x0000000000004000ULL
|
||||||
|
|
||||||
//
|
//
|
||||||
// range requires a runtime mapping
|
// range requires a runtime mapping
|
||||||
|
@ -83,11 +83,11 @@ typedef enum {
|
||||||
|
|
||||||
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT32 Type;
|
UINT32 Type;
|
||||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||||
EFI_VIRTUAL_ADDRESS VirtualStart;
|
EFI_VIRTUAL_ADDRESS VirtualStart;
|
||||||
UINT64 NumberOfPages;
|
UINT64 NumberOfPages;
|
||||||
UINT64 Attribute;
|
UINT64 Attribute;
|
||||||
} EFI_MEMORY_DESCRIPTOR;
|
} EFI_MEMORY_DESCRIPTOR;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -336,13 +336,13 @@ EFI_STATUS
|
||||||
// EVT_TIMER might be ¡°Ored¡± with EVT_NOTIFY_WAIT or
|
// EVT_TIMER might be ¡°Ored¡± with EVT_NOTIFY_WAIT or
|
||||||
// EVT_NOTIFY_SIGNAL.
|
// EVT_NOTIFY_SIGNAL.
|
||||||
//
|
//
|
||||||
#define EVT_TIMER 0x80000000
|
#define EVT_TIMER 0x80000000
|
||||||
#define EVT_RUNTIME 0x40000000
|
#define EVT_RUNTIME 0x40000000
|
||||||
|
|
||||||
#define EVT_NOTIFY_WAIT 0x00000100
|
#define EVT_NOTIFY_WAIT 0x00000100
|
||||||
#define EVT_NOTIFY_SIGNAL 0x00000200
|
#define EVT_NOTIFY_SIGNAL 0x00000200
|
||||||
#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
|
#define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
|
||||||
#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
|
#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -638,9 +638,9 @@ EFI_STATUS
|
||||||
// real time clock device as exposed through the EFI interfaces.
|
// real time clock device as exposed through the EFI interfaces.
|
||||||
//
|
//
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT32 Resolution;
|
UINT32 Resolution;
|
||||||
UINT32 Accuracy;
|
UINT32 Accuracy;
|
||||||
BOOLEAN SetsToZero;
|
BOOLEAN SetsToZero;
|
||||||
} EFI_TIME_CAPABILITIES;
|
} EFI_TIME_CAPABILITIES;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1542,153 +1542,153 @@ EFI_STATUS
|
||||||
//
|
//
|
||||||
// EFI Runtime Services Table
|
// EFI Runtime Services Table
|
||||||
//
|
//
|
||||||
#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
|
#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
|
||||||
#define EFI_SYSTEM_TABLE_REVISION ((2<<16) | (10))
|
#define EFI_SYSTEM_TABLE_REVISION ((2<<16) | (10))
|
||||||
#define EFI_2_10_SYSTEM_TABLE_REVISION ((2<<16) | (10))
|
#define EFI_2_10_SYSTEM_TABLE_REVISION ((2<<16) | (10))
|
||||||
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (00))
|
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (00))
|
||||||
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))
|
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))
|
||||||
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))
|
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))
|
||||||
|
|
||||||
#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
|
#define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
|
||||||
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_00_SYSTEM_TABLE_REVISION
|
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_00_SYSTEM_TABLE_REVISION
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Time Services
|
// Time Services
|
||||||
//
|
//
|
||||||
EFI_GET_TIME GetTime;
|
EFI_GET_TIME GetTime;
|
||||||
EFI_SET_TIME SetTime;
|
EFI_SET_TIME SetTime;
|
||||||
EFI_GET_WAKEUP_TIME GetWakeupTime;
|
EFI_GET_WAKEUP_TIME GetWakeupTime;
|
||||||
EFI_SET_WAKEUP_TIME SetWakeupTime;
|
EFI_SET_WAKEUP_TIME SetWakeupTime;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Virtual Memory Services
|
// Virtual Memory Services
|
||||||
//
|
//
|
||||||
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
|
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
|
||||||
EFI_CONVERT_POINTER ConvertPointer;
|
EFI_CONVERT_POINTER ConvertPointer;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Variable Services
|
// Variable Services
|
||||||
//
|
//
|
||||||
EFI_GET_VARIABLE GetVariable;
|
EFI_GET_VARIABLE GetVariable;
|
||||||
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
|
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
|
||||||
EFI_SET_VARIABLE SetVariable;
|
EFI_SET_VARIABLE SetVariable;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Miscellaneous Services
|
// Miscellaneous Services
|
||||||
//
|
//
|
||||||
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
|
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
|
||||||
EFI_RESET_SYSTEM ResetSystem;
|
EFI_RESET_SYSTEM ResetSystem;
|
||||||
|
|
||||||
//
|
//
|
||||||
// UEFI 2.0 Capsule Services
|
// UEFI 2.0 Capsule Services
|
||||||
//
|
//
|
||||||
EFI_UPDATE_CAPSULE UpdateCapsule;
|
EFI_UPDATE_CAPSULE UpdateCapsule;
|
||||||
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;
|
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Miscellaneous UEFI 2.0 Service
|
// Miscellaneous UEFI 2.0 Service
|
||||||
//
|
//
|
||||||
EFI_QUERY_VARIABLE_INFO QueryVariableInfo;
|
EFI_QUERY_VARIABLE_INFO QueryVariableInfo;
|
||||||
} EFI_RUNTIME_SERVICES;
|
} EFI_RUNTIME_SERVICES;
|
||||||
|
|
||||||
|
|
||||||
#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
|
#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
|
||||||
#define EFI_BOOT_SERVICES_REVISION ((2<<16) | (00))
|
#define EFI_BOOT_SERVICES_REVISION ((2<<16) | (00))
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Task Priority Services
|
// Task Priority Services
|
||||||
//
|
//
|
||||||
EFI_RAISE_TPL RaiseTPL;
|
EFI_RAISE_TPL RaiseTPL;
|
||||||
EFI_RESTORE_TPL RestoreTPL;
|
EFI_RESTORE_TPL RestoreTPL;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Memory Services
|
// Memory Services
|
||||||
//
|
//
|
||||||
EFI_ALLOCATE_PAGES AllocatePages;
|
EFI_ALLOCATE_PAGES AllocatePages;
|
||||||
EFI_FREE_PAGES FreePages;
|
EFI_FREE_PAGES FreePages;
|
||||||
EFI_GET_MEMORY_MAP GetMemoryMap;
|
EFI_GET_MEMORY_MAP GetMemoryMap;
|
||||||
EFI_ALLOCATE_POOL AllocatePool;
|
EFI_ALLOCATE_POOL AllocatePool;
|
||||||
EFI_FREE_POOL FreePool;
|
EFI_FREE_POOL FreePool;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Event & Timer Services
|
// Event & Timer Services
|
||||||
//
|
//
|
||||||
EFI_CREATE_EVENT CreateEvent;
|
EFI_CREATE_EVENT CreateEvent;
|
||||||
EFI_SET_TIMER SetTimer;
|
EFI_SET_TIMER SetTimer;
|
||||||
EFI_WAIT_FOR_EVENT WaitForEvent;
|
EFI_WAIT_FOR_EVENT WaitForEvent;
|
||||||
EFI_SIGNAL_EVENT SignalEvent;
|
EFI_SIGNAL_EVENT SignalEvent;
|
||||||
EFI_CLOSE_EVENT CloseEvent;
|
EFI_CLOSE_EVENT CloseEvent;
|
||||||
EFI_CHECK_EVENT CheckEvent;
|
EFI_CHECK_EVENT CheckEvent;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Protocol Handler Services
|
// Protocol Handler Services
|
||||||
//
|
//
|
||||||
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
|
EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
|
||||||
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
|
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
|
||||||
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
|
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
|
||||||
EFI_HANDLE_PROTOCOL HandleProtocol;
|
EFI_HANDLE_PROTOCOL HandleProtocol;
|
||||||
VOID *Reserved;
|
VOID *Reserved;
|
||||||
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
|
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
|
||||||
EFI_LOCATE_HANDLE LocateHandle;
|
EFI_LOCATE_HANDLE LocateHandle;
|
||||||
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
|
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
|
||||||
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
|
EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Image Services
|
// Image Services
|
||||||
//
|
//
|
||||||
EFI_IMAGE_LOAD LoadImage;
|
EFI_IMAGE_LOAD LoadImage;
|
||||||
EFI_IMAGE_START StartImage;
|
EFI_IMAGE_START StartImage;
|
||||||
EFI_EXIT Exit;
|
EFI_EXIT Exit;
|
||||||
EFI_IMAGE_UNLOAD UnloadImage;
|
EFI_IMAGE_UNLOAD UnloadImage;
|
||||||
EFI_EXIT_BOOT_SERVICES ExitBootServices;
|
EFI_EXIT_BOOT_SERVICES ExitBootServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Miscellaneous Services
|
// Miscellaneous Services
|
||||||
//
|
//
|
||||||
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
|
EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
|
||||||
EFI_STALL Stall;
|
EFI_STALL Stall;
|
||||||
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
|
EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
|
||||||
|
|
||||||
//
|
//
|
||||||
// DriverSupport Services
|
// DriverSupport Services
|
||||||
//
|
//
|
||||||
EFI_CONNECT_CONTROLLER ConnectController;
|
EFI_CONNECT_CONTROLLER ConnectController;
|
||||||
EFI_DISCONNECT_CONTROLLER DisconnectController;
|
EFI_DISCONNECT_CONTROLLER DisconnectController;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Open and Close Protocol Services
|
// Open and Close Protocol Services
|
||||||
//
|
//
|
||||||
EFI_OPEN_PROTOCOL OpenProtocol;
|
EFI_OPEN_PROTOCOL OpenProtocol;
|
||||||
EFI_CLOSE_PROTOCOL CloseProtocol;
|
EFI_CLOSE_PROTOCOL CloseProtocol;
|
||||||
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
|
EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Library Services
|
// Library Services
|
||||||
//
|
//
|
||||||
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
|
EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
|
||||||
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
|
EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
|
||||||
EFI_LOCATE_PROTOCOL LocateProtocol;
|
EFI_LOCATE_PROTOCOL LocateProtocol;
|
||||||
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
|
EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
|
||||||
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
|
EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
|
||||||
|
|
||||||
//
|
//
|
||||||
// 32-bit CRC Services
|
// 32-bit CRC Services
|
||||||
//
|
//
|
||||||
EFI_CALCULATE_CRC32 CalculateCrc32;
|
EFI_CALCULATE_CRC32 CalculateCrc32;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Miscellaneous Services
|
// Miscellaneous Services
|
||||||
//
|
//
|
||||||
EFI_COPY_MEM CopyMem;
|
EFI_COPY_MEM CopyMem;
|
||||||
EFI_SET_MEM SetMem;
|
EFI_SET_MEM SetMem;
|
||||||
|
|
||||||
EFI_CREATE_EVENT_EX CreateEventEx;
|
EFI_CREATE_EVENT_EX CreateEventEx;
|
||||||
} EFI_BOOT_SERVICES;
|
} EFI_BOOT_SERVICES;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1696,24 +1696,24 @@ typedef struct {
|
||||||
// EFI System Table.
|
// EFI System Table.
|
||||||
//
|
//
|
||||||
typedef struct{
|
typedef struct{
|
||||||
EFI_GUID VendorGuid;
|
EFI_GUID VendorGuid;
|
||||||
VOID *VendorTable;
|
VOID *VendorTable;
|
||||||
} EFI_CONFIGURATION_TABLE;
|
} EFI_CONFIGURATION_TABLE;
|
||||||
|
|
||||||
struct _EFI_SYSTEM_TABLE {
|
struct _EFI_SYSTEM_TABLE {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
CHAR16 *FirmwareVendor;
|
CHAR16 *FirmwareVendor;
|
||||||
UINT32 FirmwareRevision;
|
UINT32 FirmwareRevision;
|
||||||
EFI_HANDLE ConsoleInHandle;
|
EFI_HANDLE ConsoleInHandle;
|
||||||
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
|
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
|
||||||
EFI_HANDLE ConsoleOutHandle;
|
EFI_HANDLE ConsoleOutHandle;
|
||||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
|
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
|
||||||
EFI_HANDLE StandardErrorHandle;
|
EFI_HANDLE StandardErrorHandle;
|
||||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
|
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
|
||||||
EFI_RUNTIME_SERVICES *RuntimeServices;
|
EFI_RUNTIME_SERVICES *RuntimeServices;
|
||||||
EFI_BOOT_SERVICES *BootServices;
|
EFI_BOOT_SERVICES *BootServices;
|
||||||
UINTN NumberOfTableEntries;
|
UINTN NumberOfTableEntries;
|
||||||
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue