mirror of https://github.com/acidanthera/audk.git
1) Add descriptions for the enum values or struc members for the following types:
EFI_ALLOCATION_TYPE EFI_MEKORY_DESCRITOR EFI_TIMER_DEALY EFI_RESET_TYPE EFI_INTERFACE_TYPE EFI_OPEN_PROTOCOL_INFORMATION_ENTRY EFI_LOCATE_SEARCH_TYPE EFI_CAPSULE_BLOCK_DESCRIPTOR EFI_CAPSULE_HEADER 2) Rearrange some content to eliminate the need for the forward declaration of EFI_SYSTEM_TABLE 3) Update signature declarations to use EFI_SIGNATURE_64(). 4) Move macro NEXT_MEMORY_DESCRITOR() from this file to the UEFI Library. It is not part of the UEFI Specification. 5) Fix hot key related type names to match the UEFI Specification git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6908 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6617fcc2e8
commit
2a3f6a21d3
|
@ -26,12 +26,25 @@
|
||||||
#include <Protocol/SimpleTextOut.h>
|
#include <Protocol/SimpleTextOut.h>
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Enumeration of memory allocation.
|
/// Enumeration of EFI memory allocation types.
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Allocate any available range of pages that satisfies the request
|
||||||
|
///
|
||||||
AllocateAnyPages,
|
AllocateAnyPages,
|
||||||
|
///
|
||||||
|
/// Allocate any available range of pages whose uppermost address is less than
|
||||||
|
/// or equal to a specified maximum address
|
||||||
|
///
|
||||||
AllocateMaxAddress,
|
AllocateMaxAddress,
|
||||||
|
///
|
||||||
|
/// Allocate pages at a specified address
|
||||||
|
///
|
||||||
AllocateAddress,
|
AllocateAddress,
|
||||||
|
///
|
||||||
|
/// Maximum enumeration value that may be used for bounds checking
|
||||||
|
///
|
||||||
MaxAllocateType
|
MaxAllocateType
|
||||||
} EFI_ALLOCATE_TYPE;
|
} EFI_ALLOCATE_TYPE;
|
||||||
|
|
||||||
|
@ -71,26 +84,35 @@ typedef enum {
|
||||||
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Definition of memory descriptor
|
/// Definition of an EFI memory descriptor
|
||||||
///
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Type of the memory region. See EFI_MEMORY_TYPE
|
||||||
|
///
|
||||||
UINT32 Type;
|
UINT32 Type;
|
||||||
|
///
|
||||||
|
/// Physical address of the first byte of the memory region. Must aligned
|
||||||
|
/// on a 4 KB boundary.
|
||||||
|
///
|
||||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||||
|
///
|
||||||
|
/// Virtual address of the first byte of the memory region. Must aligned
|
||||||
|
/// on a 4 KB boundary.
|
||||||
|
///
|
||||||
EFI_VIRTUAL_ADDRESS VirtualStart;
|
EFI_VIRTUAL_ADDRESS VirtualStart;
|
||||||
|
///
|
||||||
|
/// Number of 4KB pages in the memory region.
|
||||||
|
///
|
||||||
UINT64 NumberOfPages;
|
UINT64 NumberOfPages;
|
||||||
|
///
|
||||||
|
/// Attributes of the memory region that describe the bit mask of capabilities
|
||||||
|
/// for that memory region, and not necessarily the current settings for that
|
||||||
|
/// memory region.
|
||||||
|
///
|
||||||
UINT64 Attribute;
|
UINT64 Attribute;
|
||||||
} EFI_MEMORY_DESCRIPTOR;
|
} EFI_MEMORY_DESCRIPTOR;
|
||||||
|
|
||||||
///
|
|
||||||
/// Build macros to find next EFI_MEMORY_DESCRIPTOR.
|
|
||||||
///
|
|
||||||
#define NEXT_MEMORY_DESCRIPTOR(_Ptr, _Size) ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) (_Ptr)) + (_Size)))
|
|
||||||
|
|
||||||
///
|
|
||||||
/// Declare forward referenced data structures
|
|
||||||
///
|
|
||||||
typedef struct _EFI_SYSTEM_TABLE EFI_SYSTEM_TABLE;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Allocates memory pages from the system.
|
Allocates memory pages from the system.
|
||||||
|
|
||||||
|
@ -427,8 +449,17 @@ EFI_STATUS
|
||||||
/// Timer delay types
|
/// Timer delay types
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// An event's timer settings is to be cancelled and not trigger time is to be set
|
||||||
|
///
|
||||||
TimerCancel,
|
TimerCancel,
|
||||||
|
///
|
||||||
|
/// An event is to be signalled periodically at a specified interval from the current time.
|
||||||
|
///
|
||||||
TimerPeriodic,
|
TimerPeriodic,
|
||||||
|
///
|
||||||
|
/// An event is to be signalled once at a specified interval from the current time.
|
||||||
|
///
|
||||||
TimerRelative
|
TimerRelative
|
||||||
} EFI_TIMER_DELAY;
|
} EFI_TIMER_DELAY;
|
||||||
|
|
||||||
|
@ -743,24 +774,6 @@ EFI_STATUS
|
||||||
IN EFI_TIME *Time OPTIONAL
|
IN EFI_TIME *Time OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
This is the declaration of an EFI image entry point. This entry point is
|
|
||||||
the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
|
|
||||||
both device drivers and bus drivers.
|
|
||||||
|
|
||||||
@param ImageHandle The firmware allocated handle for the UEFI image.
|
|
||||||
@param SystemTable A pointer to the EFI System Table.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS The operation completed successfully.
|
|
||||||
@retval Others Some unexpected error happened.
|
|
||||||
**/
|
|
||||||
typedef
|
|
||||||
EFI_STATUS
|
|
||||||
(EFIAPI *EFI_IMAGE_ENTRY_POINT)(
|
|
||||||
IN EFI_HANDLE ImageHandle,
|
|
||||||
IN EFI_SYSTEM_TABLE *SystemTable
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Loads an EFI image into memory.
|
Loads an EFI image into memory.
|
||||||
|
|
||||||
|
@ -919,10 +932,25 @@ EFI_STATUS
|
||||||
/// Enumeration of reset types.
|
/// Enumeration of reset types.
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Used to induce a system-wide reset. This sets all circuitry within the
|
||||||
|
/// system to its initial state. This type of reset is asynchronous to system
|
||||||
|
/// operation and operates withgout regard to cycle boundaries. EfiColdReset
|
||||||
|
/// is tantamount to a system power cycle.
|
||||||
|
///
|
||||||
EfiResetCold,
|
EfiResetCold,
|
||||||
|
///
|
||||||
|
/// Used to induce a system-wide initialization. The processors are set to their
|
||||||
|
/// initial state, and pending cycles are not corrupted. If the system does
|
||||||
|
/// not support this reset type, then an EfiResetCold must be performed.
|
||||||
|
///
|
||||||
EfiResetWarm,
|
EfiResetWarm,
|
||||||
EfiResetShutdown,
|
///
|
||||||
EfiResetUpdate
|
/// Used to induce en entry into power state equivalent to the ACPI G2/S5 or G3
|
||||||
|
/// state. If the system does not support this reset type, then when the system
|
||||||
|
/// is rebooted, it should exhibit the EfiResetCold attributes.
|
||||||
|
///
|
||||||
|
EfiResetShutdown
|
||||||
} EFI_RESET_TYPE;
|
} EFI_RESET_TYPE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1032,11 +1060,13 @@ VOID
|
||||||
IN UINT8 Value
|
IN UINT8 Value
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
//
|
/// Enumeration of EFI Interface Types
|
||||||
// Protocol handler functions
|
///
|
||||||
//
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Indicates that the supplied protocol interface is supplied in native form.
|
||||||
|
///
|
||||||
EFI_NATIVE_INTERFACE
|
EFI_NATIVE_INTERFACE
|
||||||
} EFI_INTERFACE_TYPE;
|
} EFI_INTERFACE_TYPE;
|
||||||
|
|
||||||
|
@ -1259,7 +1289,9 @@ EFI_STATUS
|
||||||
IN EFI_HANDLE ControllerHandle
|
IN EFI_HANDLE ControllerHandle
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI Oprn Protocol Information Entry
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_HANDLE AgentHandle;
|
EFI_HANDLE AgentHandle;
|
||||||
EFI_HANDLE ControllerHandle;
|
EFI_HANDLE ControllerHandle;
|
||||||
|
@ -1343,10 +1375,22 @@ EFI_STATUS
|
||||||
OUT VOID **Registration
|
OUT VOID **Registration
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Enumeration of EFI Locate Search Types
|
||||||
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Retrieve all the handles in the handle database.
|
||||||
|
///
|
||||||
AllHandles,
|
AllHandles,
|
||||||
|
///
|
||||||
|
/// Retrieve the next handle fron a RegisterProtocolNotify() event.
|
||||||
|
///
|
||||||
ByRegisterNotify,
|
ByRegisterNotify,
|
||||||
|
///
|
||||||
|
/// Retrieve the set of handles from the handle database that support a
|
||||||
|
/// specified protocol.
|
||||||
|
///
|
||||||
ByProtocol
|
ByProtocol
|
||||||
} EFI_LOCATE_SEARCH_TYPE;
|
} EFI_LOCATE_SEARCH_TYPE;
|
||||||
|
|
||||||
|
@ -1426,7 +1470,6 @@ EFI_STATUS
|
||||||
IN VOID *Table
|
IN VOID *Table
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns an array of handles that support the requested protocol in a buffer allocated from pool.
|
Returns an array of handles that support the requested protocol in a buffer allocated from pool.
|
||||||
|
|
||||||
|
@ -1480,14 +1523,20 @@ EFI_STATUS
|
||||||
OUT VOID **Interface
|
OUT VOID **Interface
|
||||||
);
|
);
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI Capsule Block Descriptor
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
UINT64 Length;
|
UINT64 Length;
|
||||||
union {
|
union {
|
||||||
EFI_PHYSICAL_ADDRESS DataBlock;
|
EFI_PHYSICAL_ADDRESS DataBlock;
|
||||||
EFI_PHYSICAL_ADDRESS ContinuationPointer;
|
EFI_PHYSICAL_ADDRESS ContinuationPointer;
|
||||||
} Union;
|
} Union;
|
||||||
} EFI_CAPSULE_BLOCK_DESCRIPTOR;
|
} EFI_CAPSULE_BLOCK_DESCRIPTOR;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI Capsule Header
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_GUID CapsuleGuid;
|
EFI_GUID CapsuleGuid;
|
||||||
UINT32 HeaderSize;
|
UINT32 HeaderSize;
|
||||||
|
@ -1603,14 +1652,14 @@ EFI_STATUS
|
||||||
//
|
//
|
||||||
// EFI Runtime Services Table
|
// EFI Runtime Services Table
|
||||||
//
|
//
|
||||||
#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249ULL
|
#define EFI_SYSTEM_TABLE_SIGNATURE EFI_SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
|
||||||
#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 0x56524553544e5552ULL
|
#define EFI_RUNTIME_SERVICES_SIGNATURE EFI_SIGNATURE_64 ('R','U','N','T','S','E','R','V')
|
||||||
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -1662,7 +1711,7 @@ typedef struct {
|
||||||
} EFI_RUNTIME_SERVICES;
|
} EFI_RUNTIME_SERVICES;
|
||||||
|
|
||||||
|
|
||||||
#define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42ULL
|
#define EFI_BOOT_SERVICES_SIGNATURE EFI_SIGNATURE_64 ('B','O','O','T','S','E','R','V')
|
||||||
#define EFI_BOOT_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
#define EFI_BOOT_SERVICES_REVISION EFI_2_10_SYSTEM_TABLE_REVISION
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -1767,7 +1816,7 @@ typedef struct {
|
||||||
/// Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the
|
/// Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the
|
||||||
/// EFI System Table.
|
/// EFI System Table.
|
||||||
///
|
///
|
||||||
typedef struct{
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The 128-bit GUID value that uniquely identifies the system configuration table.
|
/// The 128-bit GUID value that uniquely identifies the system configuration table.
|
||||||
///
|
///
|
||||||
|
@ -1781,7 +1830,7 @@ typedef struct{
|
||||||
///
|
///
|
||||||
/// EFI System Table
|
/// EFI System Table
|
||||||
///
|
///
|
||||||
struct _EFI_SYSTEM_TABLE {
|
typedef struct {
|
||||||
///
|
///
|
||||||
/// The table header for the EFI System Table.
|
/// The table header for the EFI System Table.
|
||||||
///
|
///
|
||||||
|
@ -1840,7 +1889,25 @@ struct _EFI_SYSTEM_TABLE {
|
||||||
/// The number of entries in the table is NumberOfTableEntries.
|
/// The number of entries in the table is NumberOfTableEntries.
|
||||||
///
|
///
|
||||||
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
||||||
};
|
} EFI_SYSTEM_TABLE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
This is the declaration of an EFI image entry point. This entry point is
|
||||||
|
the same for UEFI Applications, UEFI OS Loaders, and UEFI Drivers including
|
||||||
|
both device drivers and bus drivers.
|
||||||
|
|
||||||
|
@param ImageHandle The firmware allocated handle for the UEFI image.
|
||||||
|
@param SystemTable A pointer to the EFI System Table.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The operation completed successfully.
|
||||||
|
@retval Others Some unexpected error happened.
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_IMAGE_ENTRY_POINT)(
|
||||||
|
IN EFI_HANDLE ImageHandle,
|
||||||
|
IN EFI_SYSTEM_TABLE *SystemTable
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// EFI Load Options Attributes
|
// EFI Load Options Attributes
|
||||||
|
@ -1857,6 +1924,9 @@ struct _EFI_SYSTEM_TABLE {
|
||||||
#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
|
#define EFI_BOOT_OPTION_SUPPORT_APP 0x00000002
|
||||||
#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
|
#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI Boot Key Data
|
||||||
|
///
|
||||||
typedef union {
|
typedef union {
|
||||||
struct {
|
struct {
|
||||||
UINT32 Revision : 8;
|
UINT32 Revision : 8;
|
||||||
|
@ -1870,13 +1940,16 @@ typedef union {
|
||||||
UINT32 InputKeyCount : 2;
|
UINT32 InputKeyCount : 2;
|
||||||
} Options;
|
} Options;
|
||||||
UINT32 PackedValue;
|
UINT32 PackedValue;
|
||||||
} HOT_KEY_EFI_KEY_DATA;
|
} EFI_BOOT_KEY_DATA;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// EFI Key Option
|
||||||
|
///
|
||||||
typedef struct {
|
typedef struct {
|
||||||
HOT_KEY_EFI_KEY_DATA KeyOptions;
|
EFI_BOOT_KEY_DATA KeyOptions;
|
||||||
UINT32 BootOptionCrc;
|
UINT32 BootOptionCrc;
|
||||||
UINT16 BootOption;
|
UINT16 BootOption;
|
||||||
//EFI_INPUT_KEY Keys[];
|
//EFI_INPUT_KEY Keys[];
|
||||||
} EFI_KEY_OPTION;
|
} EFI_KEY_OPTION;
|
||||||
|
|
||||||
#define EFI_KEY_OPTION_SHIFT 0x00000001
|
#define EFI_KEY_OPTION_SHIFT 0x00000001
|
||||||
|
@ -1887,7 +1960,6 @@ typedef struct {
|
||||||
#define EFI_KEY_OPTION_SYSREQ 0x00000020
|
#define EFI_KEY_OPTION_SYSREQ 0x00000020
|
||||||
#define EFI_KEY_CODE_COUNT 0x00000300
|
#define EFI_KEY_CODE_COUNT 0x00000300
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// EFI File location to boot from on removable media devices
|
// EFI File location to boot from on removable media devices
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue