Update the header file coding style (alignment, comment, etc.)

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7893 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
gdong1 2009-03-16 10:29:27 +00:00
parent c40aa22af0
commit 9205b2d766
7 changed files with 1077 additions and 1192 deletions

File diff suppressed because it is too large Load Diff

View File

@ -32,44 +32,39 @@
typedef
VOID
(EFIAPI *EFI_AP_PROCEDURE)(
IN VOID *Buffer
IN VOID *Buffer
);
typedef struct {
EFI_TABLE_HEADER Hdr;
EFI_TABLE_HEADER Hdr;
//
// Time services
//
EFI_GET_TIME GetTime;
EFI_SET_TIME SetTime;
EFI_GET_WAKEUP_TIME GetWakeupTime;
EFI_SET_WAKEUP_TIME SetWakeupTime;
EFI_GET_TIME GetTime;
EFI_SET_TIME SetTime;
EFI_GET_WAKEUP_TIME GetWakeupTime;
EFI_SET_WAKEUP_TIME SetWakeupTime;
//
// Virtual memory services
//
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
EFI_CONVERT_POINTER ConvertPointer;
EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
EFI_CONVERT_POINTER ConvertPointer;
//
// Variable services
//
EFI_GET_VARIABLE GetVariable;
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
EFI_SET_VARIABLE SetVariable;
EFI_GET_VARIABLE GetVariable;
EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
EFI_SET_VARIABLE SetVariable;
//
// Misc
//
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
EFI_RESET_SYSTEM ResetSystem;
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
EFI_RESET_SYSTEM ResetSystem;
//
// Framework extension to UEFI 2.0 runtime table
// It was moved to a protocol to not conflict with UEFI 2.0
//
EFI_REPORT_STATUS_CODE ReportStatusCode;
EFI_REPORT_STATUS_CODE ReportStatusCode;
} FRAMEWORK_EFI_RUNTIME_SERVICES;
#define EFI_EVENT_RUNTIME_CONTEXT 0x20000000
@ -77,18 +72,16 @@ typedef struct {
#define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
#define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID TianoSpecificDevicePath;
UINT32 Type;
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID TianoSpecificDevicePath;
UINT32 Type;
} TIANO_DEVICE_PATH;
#define TIANO_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE 0x01
#define TIANO_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE 0x01
typedef struct {
TIANO_DEVICE_PATH Tiano;
EFI_GUID NameGuid;
TIANO_DEVICE_PATH Tiano;
EFI_GUID NameGuid;
} FRAMEWORK_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
#endif

View File

@ -75,12 +75,12 @@
// Define values for the flags fields in some VFR opcodes. These are
// bitmasks.
//
#define FRAMEWORK_EFI_IFR_FLAG_DEFAULT 0x01
#define FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING 0x02
#define FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE 0x04
#define FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS 0x08
#define FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED 0x10
#define FRAMEWORK_EFI_IFR_FLAG_LATE_CHECK 0x20
#define FRAMEWORK_EFI_IFR_FLAG_DEFAULT 0x01
#define FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING 0x02
#define FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE 0x04
#define FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS 0x08
#define FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED 0x10
#define FRAMEWORK_EFI_IFR_FLAG_LATE_CHECK 0x20
#define EFI_NON_DEVICE_CLASS 0x00 // Useful when you do not want something in the Device Manager
#define EFI_DISK_DEVICE_CLASS 0x01
@ -111,258 +111,259 @@
// IFR Structure definitions
//
typedef struct {
UINT8 OpCode;
UINT8 Length;
UINT8 OpCode;
UINT8 Length;
} FRAMEWORK_EFI_IFR_OP_HEADER;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
EFI_GUID Guid;
STRING_REF FormSetTitle;
STRING_REF Help;
EFI_PHYSICAL_ADDRESS CallbackHandle;
UINT16 Class;
UINT16 SubClass;
UINT16 NvDataSize; // set once, size of the NV data as defined in the script
FRAMEWORK_EFI_IFR_OP_HEADER Header;
EFI_GUID Guid;
STRING_REF FormSetTitle;
STRING_REF Help;
EFI_PHYSICAL_ADDRESS CallbackHandle;
UINT16 Class;
UINT16 SubClass;
UINT16 NvDataSize; // set once, size of the NV data as defined in the script
} FRAMEWORK_EFI_IFR_FORM_SET;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF FormTitle;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF FormTitle;
} FRAMEWORK_EFI_IFR_FORM;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 LabelId;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 LabelId;
} FRAMEWORK_EFI_IFR_LABEL;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF SubTitle;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF SubTitle;
} FRAMEWORK_EFI_IFR_SUBTITLE;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Help;
STRING_REF Text;
STRING_REF TextTwo;
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Help;
STRING_REF Text;
STRING_REF TextTwo;
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_TEXT;
//
// goto
//
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF Prompt;
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF Prompt;
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_REF;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_FORM;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_FORM_SET;
//
// Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......code assumes this to be true, if this ever
// changes we need to revisit the InitializeTagStructures code
// Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......
// code assumes this to be true, if this ever changes we need to revisit the InitializeTagStructures code
//
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
} FRAMEWORK_EFI_IFR_ONE_OF;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The offset in NV for storage of the data
UINT8 MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)
STRING_REF Prompt; // The string token for the prompt
STRING_REF Help; // The string token for the context-help
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The offset in NV for storage of the data
UINT8 MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)
STRING_REF Prompt; // The string token for the prompt
STRING_REF Help; // The string token for the context-help
} FRAMEWORK_EFI_IFR_ORDERED_LIST;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely
UINT16 Key; // Value to be passed to caller to identify this particular op-code
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // If non-zero, means that it is the default option
UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_CHECKBOX, FRAMEWORK_EFI_IFR_CHECK_BOX;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Option; // The string token describing the option
UINT16 Value; // The value associated with this option that is stored in the NVRAM if chosen
UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely above
UINT16 Key; // Value to be passed to caller to identify this particular op-code
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Option; // The string token describing the option
UINT16 Value; // The value associated with this option that is stored in the NVRAM
UINT8 Flags; // If non-zero, means that it is the default option
UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_ONE_OF_OPTION;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT16 Minimum;
UINT16 Maximum;
UINT16 Step; // If step is 0, then manual input is specified, otherwise, left/right arrow selection is called for
UINT16 Default;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT16 Minimum;
UINT16 Maximum;
UINT16 Step; // Zero means manual input, otherwise, arrow selection is called for
UINT16 Default;
} FRAMEWORK_EFI_IFR_NUMERIC;
//
// There is an interesting twist with regards to Time and Date. This is one of the few items which can accept input from
// a user, however may or may not need to use storage in the NVRAM space. The decided method for determining if NVRAM space
// will be used (only for a TimeOp or DateOp) is: If .QuestionId == 0 && .Width == 0 (normally an impossibility) then use system
// resources to store the data away and not NV resources. In other words, the setup engine will call gRT->SetTime, and gRT->SetDate
// for the saving of data, and the values displayed will be from the gRT->GetXXXX series of calls.
// There is an interesting twist with regards to Time and Date. This is one of the few items which can accept input
// from a user, however may or may not need to use storage in the NVRAM space. The decided method for determining
// if NVRAM space will be used (only for a TimeOp or DateOp) is: If .QuestionId == 0 && .Width == 0 (normally an
// impossibility) then use system resources to store the data away and not NV resources. In other words, the setup
// engine will call gRT->SetTime, and gRT->SetDate for the saving of data, and the values displayed will be from the
// gRT->GetXXXX series of calls.
//
typedef struct {
FRAMEWORK_EFI_IFR_NUMERIC Hour;
FRAMEWORK_EFI_IFR_NUMERIC Minute;
FRAMEWORK_EFI_IFR_NUMERIC Second;
FRAMEWORK_EFI_IFR_NUMERIC Hour;
FRAMEWORK_EFI_IFR_NUMERIC Minute;
FRAMEWORK_EFI_IFR_NUMERIC Second;
} FRAMEWORK_EFI_IFR_TIME;
typedef struct {
FRAMEWORK_EFI_IFR_NUMERIC Year;
FRAMEWORK_EFI_IFR_NUMERIC Month;
FRAMEWORK_EFI_IFR_NUMERIC Day;
FRAMEWORK_EFI_IFR_NUMERIC Year;
FRAMEWORK_EFI_IFR_NUMERIC Month;
FRAMEWORK_EFI_IFR_NUMERIC Day;
} FRAMEWORK_EFI_IFR_DATE;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
UINT8 Width; // The Size of the Data being saved @bug -- remove someday
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT8 MinSize; // Minimum allowable sized password
UINT8 MaxSize; // Maximum allowable sized password
UINT16 Encoding;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId;// The ID designating what the question is about...
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT8 MinSize; // Minimum allowable sized password
UINT8 MaxSize; // Maximum allowable sized password
UINT16 Encoding;
} FRAMEWORK_EFI_IFR_PASSWORD;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
UINT8 Width; // The Size of the Data being saved @bug -- remove someday
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT8 MinSize; // Minimum allowable sized password
UINT8 MaxSize; // Maximum allowable sized password
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // The ID designating what the question is about...
UINT8 Width; // The Size of the Data being saved
STRING_REF Prompt; // The String Token for the Prompt
STRING_REF Help; // The string Token for the context-help
UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
UINT16 Key; // Value to be passed to caller to identify this particular op-code
UINT8 MinSize; // Minimum allowable sized password
UINT8 MaxSize; // Maximum allowable sized password
} FRAMEWORK_EFI_IFR_STRING;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_ONE_OF;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 Value;
UINT16 Key;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 Value;
UINT16 Key;
} FRAMEWORK_EFI_IFR_HIDDEN;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT8 Flags;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT8 Flags;
} FRAMEWORK_EFI_IFR_SUPPRESS;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT8 Flags;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT8 Flags;
} FRAMEWORK_EFI_IFR_GRAY_OUT;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Popup;
UINT8 Flags;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Popup;
UINT8 Flags;
} FRAMEWORK_EFI_IFR_INCONSISTENT;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // offset into variable storage
UINT8 Width; // size of variable storage
UINT16 Value; // value to compare against
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // offset into variable storage
UINT8 Width; // size of variable storage
UINT16 Value; // value to compare against
} FRAMEWORK_EFI_IFR_EQ_ID_VAL;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // offset into variable storage
UINT8 Width; // size of variable storage
UINT16 ListLength;
UINT16 ValueList[1];
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId; // offset into variable storage
UINT8 Width; // size of variable storage
UINT16 ListLength;
UINT16 ValueList[1];
} FRAMEWORK_EFI_IFR_EQ_ID_LIST;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId1; // offset into variable storage for first value to compare
UINT8 Width; // size of variable storage (must be same for both)
UINT16 QuestionId2; // offset into variable storage for second value to compare
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 QuestionId1; // offset into variable storage for first value to compare
UINT8 Width; // size of variable storage (must be same for both)
UINT16 QuestionId2; // offset into variable storage for second value to compare
} FRAMEWORK_EFI_IFR_EQ_ID_ID;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VariableId; // offset into variable storage
UINT16 Value; // value to compare against
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VariableId; // offset into variable storage
UINT16 Value; // value to compare against
} FRAMEWORK_EFI_IFR_EQ_VAR_VAL;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_AND;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_OR;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_NOT;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_EXPR, FRAMEWORK_EFI_IFR_END_IF;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF Prompt;
STRING_REF Help;
UINT8 Flags;
UINT16 Key;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 FormId;
STRING_REF Prompt;
STRING_REF Help;
UINT8 Flags;
UINT16 Key;
} FRAMEWORK_EFI_IFR_SAVE_DEFAULTS;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Help;
STRING_REF Text;
STRING_REF TextTwo; // optional text
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Help;
STRING_REF Text;
STRING_REF TextTwo; // optional text
} FRAMEWORK_EFI_IFR_INVENTORY;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
EFI_GUID Guid; // GUID for the variable
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
UINT16 Size; // size of the variable storage
FRAMEWORK_EFI_IFR_OP_HEADER Header;
EFI_GUID Guid; // GUID for the variable
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
UINT16 Size; // size of the variable storage
} FRAMEWORK_EFI_IFR_VARSTORE;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
} FRAMEWORK_EFI_IFR_VARSTORE_SELECT;
//
@ -372,25 +373,25 @@ typedef struct {
// IFR opcodes use the VarId as defined here.
//
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
UINT16 SecondaryVarId; // variable store ID, as referenced elsewhere in the form
FRAMEWORK_EFI_IFR_OP_HEADER Header;
UINT16 VarId; // variable store ID, as referenced elsewhere in the form
UINT16 SecondaryVarId; // variable store ID, as referenced elsewhere in the form
} FRAMEWORK_EFI_IFR_VARSTORE_SELECT_PAIR;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_TRUE;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_FALSE;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_GT;
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_GE;
//
@ -399,10 +400,10 @@ typedef struct {
#define FRAMEWORK_EFI_IFR_RESTORE_DEFAULTS FRAMEWORK_EFI_IFR_SAVE_DEFAULTS
typedef struct {
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Title; // The string token for the banner title
UINT16 LineNumber; // 1-based line number
UINT8 Alignment; // left, center, or right-aligned
FRAMEWORK_EFI_IFR_OP_HEADER Header;
STRING_REF Title; // The string token for the banner title
UINT16 LineNumber; // 1-based line number
UINT8 Alignment; // left, center, or right-aligned
} FRAMEWORK_EFI_IFR_BANNER;
#define FRAMEWORK_EFI_IFR_BANNER_ALIGN_LEFT 0

View File

@ -25,12 +25,12 @@
//
// Capsule volume HOB -- identical to a firmware volume
//
#define EFI_HOB_TYPE_CV 0x0008
#define EFI_HOB_TYPE_CV 0x0008
typedef struct {
EFI_HOB_GENERIC_HEADER Header;
EFI_PHYSICAL_ADDRESS BaseAddress;
UINT64 Length;
EFI_HOB_GENERIC_HEADER Header;
EFI_PHYSICAL_ADDRESS BaseAddress;
UINT64 Length;
} EFI_HOB_CAPSULE_VOLUME;
#endif

View File

@ -25,60 +25,55 @@
#include <Base.h>
//
// All structures defined in this header file are packed on byte boundary
//
#pragma pack(1)
typedef UINT8 SERIAL_MODE;
typedef UINT8 PARALLEL_MODE;
typedef UINT8 SERIAL_MODE;
typedef UINT8 PARALLEL_MODE;
///////////////////////////////////////////////////////////////////////////////
//
// EFI_COMPATIBILITY16_TABLE is located at a 16-byte boundary starting with the
// signature "$EFI"
///////////////////////////////////////////////////////////////////////////////
//
#define EFI_COMPATIBILITY16_TABLE_SIGNATURE SIGNATURE_32 ('I', 'F', 'E', '$')
typedef struct {
UINT32 Signature; // "$EFI"
UINT8 TableChecksum;
UINT8 TableLength;
UINT8 EfiMajorRevision;
UINT8 EfiMinorRevision;
UINT8 TableMajorRevision;
UINT8 TableMinorRevision;
UINT16 Reserved;
UINT16 Compatibility16CallSegment;
UINT16 Compatibility16CallOffset;
UINT16 PnPInstallationCheckSegment;
UINT16 PnPInstallationCheckOffset;
UINT32 EfiSystemTable; // The physical address of EFI_SYSTEM_TABLE
UINT32 OemIdStringPointer;
UINT32 AcpiRsdPtrPointer;
UINT16 OemRevision;
UINT32 E820Pointer;
UINT32 E820Length;
UINT32 IrqRoutingTablePointer;
UINT32 IrqRoutingTableLength;
UINT32 MpTablePtr;
UINT32 MpTableLength;
UINT16 OemIntSegment;
UINT16 OemIntOffset;
UINT16 Oem32Segment;
UINT16 Oem32Offset;
UINT16 Oem16Segment;
UINT16 Oem16Offset;
UINT16 TpmSegment;
UINT16 TpmOffset;
UINT32 IbvPointer;
UINT32 PciExpressBase;
UINT8 LastPciBus;
UINT32 Signature;
UINT8 TableChecksum;
UINT8 TableLength;
UINT8 EfiMajorRevision;
UINT8 EfiMinorRevision;
UINT8 TableMajorRevision;
UINT8 TableMinorRevision;
UINT16 Reserved;
UINT16 Compatibility16CallSegment;
UINT16 Compatibility16CallOffset;
UINT16 PnPInstallationCheckSegment;
UINT16 PnPInstallationCheckOffset;
UINT32 EfiSystemTable; // The physical address of EFI_SYSTEM_TABLE
UINT32 OemIdStringPointer;
UINT32 AcpiRsdPtrPointer;
UINT16 OemRevision;
UINT32 E820Pointer;
UINT32 E820Length;
UINT32 IrqRoutingTablePointer;
UINT32 IrqRoutingTableLength;
UINT32 MpTablePtr;
UINT32 MpTableLength;
UINT16 OemIntSegment;
UINT16 OemIntOffset;
UINT16 Oem32Segment;
UINT16 Oem32Offset;
UINT16 Oem16Segment;
UINT16 Oem16Offset;
UINT16 TpmSegment;
UINT16 TpmOffset;
UINT32 IbvPointer;
UINT32 PciExpressBase;
UINT8 LastPciBus;
} EFI_COMPATIBILITY16_TABLE;
///////////////////////////////////////////////////////////////////////////////
//
// Functions provided by the CSM binary
///////////////////////////////////////////////////////////////////////////////
//
typedef enum {
Legacy16InitializeYourself = 0x0000,
Legacy16UpdateBbs = 0x0001,
@ -91,34 +86,34 @@ typedef enum {
Legacy16InstallPciHandler = 0x0008
} EFI_COMPATIBILITY_FUNCTIONS;
///////////////////////////////////////////////////////////////////////////////
//
// EFI_TO_COMPATIBILITY16_INIT_TABLE
///////////////////////////////////////////////////////////////////////////////
//
typedef struct {
UINT32 BiosLessThan1MB;
UINT32 HiPmmMemory;
UINT32 HiPmmMemorySizeInBytes;
UINT16 ReverseThunkCallSegment;
UINT16 ReverseThunkCallOffset;
UINT32 NumberE820Entries;
UINT32 OsMemoryAbove1Mb;
UINT32 ThunkStart;
UINT32 ThunkSizeInBytes;
UINT32 LowPmmMemory;
UINT32 LowPmmMemorySizeInBytes;
UINT32 BiosLessThan1MB;
UINT32 HiPmmMemory;
UINT32 HiPmmMemorySizeInBytes;
UINT16 ReverseThunkCallSegment;
UINT16 ReverseThunkCallOffset;
UINT32 NumberE820Entries;
UINT32 OsMemoryAbove1Mb;
UINT32 ThunkStart;
UINT32 ThunkSizeInBytes;
UINT32 LowPmmMemory;
UINT32 LowPmmMemorySizeInBytes;
} EFI_TO_COMPATIBILITY16_INIT_TABLE;
///////////////////////////////////////////////////////////////////////////////
//
// EFI_TO_COMPATIBILITY16_BOOT_TABLE
///////////////////////////////////////////////////////////////////////////////
//
//
// DEVICE_PRODUCER_SERIAL & its modes
//
typedef struct {
UINT16 Address;
UINT8 Irq;
SERIAL_MODE Mode;
UINT16 Address;
UINT8 Irq;
SERIAL_MODE Mode;
} DEVICE_PRODUCER_SERIAL;
#define DEVICE_SERIAL_MODE_NORMAL 0x00
@ -131,10 +126,10 @@ typedef struct {
// DEVICE_PRODUCER_PARALLEL & its modes
//
typedef struct {
UINT16 Address;
UINT8 Irq;
UINT8 Dma;
PARALLEL_MODE Mode;
UINT16 Address;
UINT8 Irq;
UINT8 Dma;
PARALLEL_MODE Mode;
} DEVICE_PRODUCER_PARALLEL;
#define DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY 0x00
@ -146,52 +141,52 @@ typedef struct {
// DEVICE_PRODUCER_FLOPPY
//
typedef struct {
UINT16 Address;
UINT8 Irq;
UINT8 Dma;
UINT8 NumberOfFloppy;
UINT16 Address;
UINT8 Irq;
UINT8 Dma;
UINT8 NumberOfFloppy;
} DEVICE_PRODUCER_FLOPPY;
//
// LEGACY_DEVICE_FLAGS
//
typedef struct {
UINT32 A20Kybd : 1;
UINT32 A20Port90 : 1;
UINT32 Reserved : 30;
UINT32 A20Kybd : 1;
UINT32 A20Port90 : 1;
UINT32 Reserved : 30;
} LEGACY_DEVICE_FLAGS;
//
// DEVICE_PRODUCER_DATA_HEADER
//
typedef struct {
DEVICE_PRODUCER_SERIAL Serial[4];
DEVICE_PRODUCER_PARALLEL Parallel[3];
DEVICE_PRODUCER_FLOPPY Floppy;
UINT8 MousePresent;
LEGACY_DEVICE_FLAGS Flags;
DEVICE_PRODUCER_SERIAL Serial[4];
DEVICE_PRODUCER_PARALLEL Parallel[3];
DEVICE_PRODUCER_FLOPPY Floppy;
UINT8 MousePresent;
LEGACY_DEVICE_FLAGS Flags;
} DEVICE_PRODUCER_DATA_HEADER;
//
// ATAPI_IDENTIFY
//
typedef struct {
UINT16 Raw[256];
UINT16 Raw[256];
} ATAPI_IDENTIFY;
//
// HDD_INFO & its status
//
typedef struct {
UINT16 Status;
UINT32 Bus;
UINT32 Device;
UINT32 Function;
UINT16 CommandBaseAddress;
UINT16 ControlBaseAddress;
UINT16 BusMasterAddress;
UINT8 HddIrq;
ATAPI_IDENTIFY IdentifyDrive[2];
UINT16 Status;
UINT32 Bus;
UINT32 Device;
UINT32 Function;
UINT16 CommandBaseAddress;
UINT16 ControlBaseAddress;
UINT16 BusMasterAddress;
UINT8 HddIrq;
ATAPI_IDENTIFY IdentifyDrive[2];
} HDD_INFO;
#define HDD_PRIMARY 0x01
@ -207,52 +202,52 @@ typedef struct {
// BBS_STATUS_FLAGS
//
typedef struct {
UINT16 OldPosition : 4;
UINT16 Reserved1 : 4;
UINT16 Enabled : 1;
UINT16 Failed : 1;
UINT16 MediaPresent : 2;
UINT16 Reserved2 : 4;
UINT16 OldPosition : 4;
UINT16 Reserved1 : 4;
UINT16 Enabled : 1;
UINT16 Failed : 1;
UINT16 MediaPresent : 2;
UINT16 Reserved2 : 4;
} BBS_STATUS_FLAGS;
//
// BBS_TABLE, device type values & boot priority values
//
typedef struct {
UINT16 BootPriority;
UINT32 Bus;
UINT32 Device;
UINT32 Function;
UINT8 Class;
UINT8 SubClass;
UINT16 MfgStringOffset;
UINT16 MfgStringSegment;
UINT16 DeviceType;
BBS_STATUS_FLAGS StatusFlags;
UINT16 BootHandlerOffset;
UINT16 BootHandlerSegment;
UINT16 DescStringOffset;
UINT16 DescStringSegment;
UINT32 InitPerReserved;
UINT32 AdditionalIrq13Handler;
UINT32 AdditionalIrq18Handler;
UINT32 AdditionalIrq19Handler;
UINT32 AdditionalIrq40Handler;
UINT8 AssignedDriveNumber;
UINT32 AdditionalIrq41Handler;
UINT32 AdditionalIrq46Handler;
UINT32 IBV1;
UINT32 IBV2;
UINT16 BootPriority;
UINT32 Bus;
UINT32 Device;
UINT32 Function;
UINT8 Class;
UINT8 SubClass;
UINT16 MfgStringOffset;
UINT16 MfgStringSegment;
UINT16 DeviceType;
BBS_STATUS_FLAGS StatusFlags;
UINT16 BootHandlerOffset;
UINT16 BootHandlerSegment;
UINT16 DescStringOffset;
UINT16 DescStringSegment;
UINT32 InitPerReserved;
UINT32 AdditionalIrq13Handler;
UINT32 AdditionalIrq18Handler;
UINT32 AdditionalIrq19Handler;
UINT32 AdditionalIrq40Handler;
UINT8 AssignedDriveNumber;
UINT32 AdditionalIrq41Handler;
UINT32 AdditionalIrq46Handler;
UINT32 IBV1;
UINT32 IBV2;
} BBS_TABLE;
#define BBS_FLOPPY 0x01
#define BBS_HARDDISK 0x02
#define BBS_CDROM 0x03
#define BBS_PCMCIA 0x04
#define BBS_USB 0x05
#define BBS_EMBED_NETWORK 0x06
#define BBS_BEV_DEVICE 0x80
#define BBS_UNKNOWN 0xff
#define BBS_FLOPPY 0x01
#define BBS_HARDDISK 0x02
#define BBS_CDROM 0x03
#define BBS_PCMCIA 0x04
#define BBS_USB 0x05
#define BBS_EMBED_NETWORK 0x06
#define BBS_BEV_DEVICE 0x80
#define BBS_UNKNOWN 0xff
#define BBS_DO_NOT_BOOT_FROM 0xFFFC
#define BBS_LOWEST_PRIORITY 0xFFFD
@ -263,10 +258,10 @@ typedef struct {
// SMM_ATTRIBUTES & relating type, port and data size constants
//
typedef struct {
UINT16 Type : 3;
UINT16 PortGranularity : 3;
UINT16 DataGranularity : 3;
UINT16 Reserved : 7;
UINT16 Type : 3;
UINT16 PortGranularity : 3;
UINT16 DataGranularity : 3;
UINT16 Reserved : 7;
} SMM_ATTRIBUTES;
#define STANDARD_IO 0x00
@ -286,8 +281,8 @@ typedef struct {
// SMM_FUNCTION & relating constants
//
typedef struct {
UINT16 Function : 15;
UINT16 Owner : 1;
UINT16 Function : 15;
UINT16 Owner : 1;
} SMM_FUNCTION;
#define INT15_D042 0x0000
@ -304,41 +299,41 @@ typedef struct {
// properly to reflect that assumption.
//
typedef struct {
SMM_ATTRIBUTES SmmAttributes;
SMM_FUNCTION SmmFunction;
UINT8 SmmPort;
UINT8 SmmData;
SMM_ATTRIBUTES SmmAttributes;
SMM_FUNCTION SmmFunction;
UINT8 SmmPort;
UINT8 SmmData;
} SMM_ENTRY;
//
// SMM_TABLE
//
typedef struct {
UINT16 NumSmmEntries;
SMM_ENTRY SmmEntry;
UINT16 NumSmmEntries;
SMM_ENTRY SmmEntry;
} SMM_TABLE;
//
// UDC_ATTRIBUTES
//
typedef struct {
UINT8 DirectoryServiceValidity : 1;
UINT8 RabcaUsedFlag : 1;
UINT8 ExecuteHddDiagnosticsFlag : 1;
UINT8 Reserved : 5;
UINT8 DirectoryServiceValidity : 1;
UINT8 RabcaUsedFlag : 1;
UINT8 ExecuteHddDiagnosticsFlag : 1;
UINT8 Reserved : 5;
} UDC_ATTRIBUTES;
//
// UD_TABLE
//
typedef struct {
UDC_ATTRIBUTES Attributes;
UINT8 DeviceNumber;
UINT8 BbsTableEntryNumberForParentDevice;
UINT8 BbsTableEntryNumberForBoot;
UINT8 BbsTableEntryNumberForHddDiag;
UINT8 BeerData[128];
UINT8 ServiceAreaData[64];
UDC_ATTRIBUTES Attributes;
UINT8 DeviceNumber;
UINT8 BbsTableEntryNumberForParentDevice;
UINT8 BbsTableEntryNumberForBoot;
UINT8 BbsTableEntryNumberForHddDiag;
UINT8 BeerData[128];
UINT8 ServiceAreaData[64];
} UD_TABLE;
//
@ -349,61 +344,55 @@ typedef struct {
#define MAX_IDE_CONTROLLER 8
typedef struct {
UINT16 MajorVersion;
UINT16 MinorVersion;
UINT32 AcpiTable; // 4 GB range
UINT32 SmbiosTable; // 4 GB range
UINT32 SmbiosTableLength;
UINT16 MajorVersion;
UINT16 MinorVersion;
UINT32 AcpiTable; // 4 GB range
UINT32 SmbiosTable; // 4 GB range
UINT32 SmbiosTableLength;
//
// Legacy SIO state
//
DEVICE_PRODUCER_DATA_HEADER SioData;
UINT16 DevicePathType;
UINT16 PciIrqMask;
UINT32 NumberE820Entries;
DEVICE_PRODUCER_DATA_HEADER SioData;
UINT16 DevicePathType;
UINT16 PciIrqMask;
UINT32 NumberE820Entries;
//
// Controller & Drive Identify[2] per controller information
//
HDD_INFO HddInfo[MAX_IDE_CONTROLLER];
UINT32 NumberBbsEntries;
UINT32 BbsTable;
UINT32 SmmTable;
UINT32 OsMemoryAbove1Mb;
UINT32 UnconventionalDeviceTable;
HDD_INFO HddInfo[MAX_IDE_CONTROLLER];
UINT32 NumberBbsEntries;
UINT32 BbsTable;
UINT32 SmmTable;
UINT32 OsMemoryAbove1Mb;
UINT32 UnconventionalDeviceTable;
} EFI_TO_COMPATIBILITY16_BOOT_TABLE;
///////////////////////////////////////////////////////////////////////////////
//
// EFI_LEGACY_INSTALL_PCI_HANDLER
///////////////////////////////////////////////////////////////////////////////
//
typedef struct {
UINT8 PciBus;
UINT8 PciDeviceFun;
UINT8 PciSegment;
UINT8 PciClass;
UINT8 PciSubclass;
UINT8 PciInterface;
UINT8 PciBus;
UINT8 PciDeviceFun;
UINT8 PciSegment;
UINT8 PciClass;
UINT8 PciSubclass;
UINT8 PciInterface;
//
// Primary section
//
UINT8 PrimaryIrq;
UINT8 PrimaryReserved;
UINT16 PrimaryControl;
UINT16 PrimaryBase;
UINT16 PrimaryBusMaster;
UINT8 PrimaryIrq;
UINT8 PrimaryReserved;
UINT16 PrimaryControl;
UINT16 PrimaryBase;
UINT16 PrimaryBusMaster;
//
// Secondary Section
//
UINT8 SecondaryIrq;
UINT8 SecondaryReserved;
UINT16 SecondaryControl;
UINT16 SecondaryBase;
UINT16 SecondaryBusMaster;
UINT8 SecondaryIrq;
UINT8 SecondaryReserved;
UINT16 SecondaryControl;
UINT16 SecondaryBase;
UINT16 SecondaryBusMaster;
} EFI_LEGACY_INSTALL_PCI_HANDLER;
//

View File

@ -36,8 +36,8 @@ typedef struct _FRAMEWORK_EFI_PEI_SERVICES FRAMEWORK_EFI_PEI_SERVICES;
typedef
EFI_STATUS
(EFIAPI *EFI_PEIM_ENTRY_POINT)(
IN EFI_FFS_FILE_HEADER *FfsHeader,
IN EFI_PEI_SERVICES **PeiServices
IN EFI_FFS_FILE_HEADER *FfsHeader,
IN EFI_PEI_SERVICES **PeiServices
);
/**
@ -58,9 +58,9 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_VOLUME)(
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN UINTN Instance,
IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN UINTN Instance,
IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader
);
/**
@ -76,18 +76,18 @@ EFI_STATUS
@param FileHeader Pointer to the current file from which to begin searching.This pointer will be
updated upon return to reflect the file found.
@retval EFI_SUCCESS The file was found.
@retval EFI_NOT_FOUND The file was not found.
@retval EFI_NOT_FOUND The header checksum was not zero.
@retval EFI_SUCCESS The file was found.
@retval EFI_NOT_FOUND The file was not found.
@retval EFI_NOT_FOUND The header checksum was not zero.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE)(
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN EFI_FV_FILETYPE SearchType,
IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader,
IN OUT EFI_FFS_FILE_HEADER **FileHeader
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN EFI_FV_FILETYPE SearchType,
IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader,
IN OUT EFI_FFS_FILE_HEADER **FileHeader
);
/**
@ -99,72 +99,73 @@ EFI_STATUS
@param FfsFileHeader A pointer to the file header that contains the set of sections to be searched.
@param SectionData A pointer to the discovered section, if successful.
@retval EFI_SUCCESS The section was found.
@retval EFI_NOT_FOUND The section was not found.
@retval EFI_SUCCESS The section was found.
@retval EFI_NOT_FOUND The section was not found.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_FFS_FIND_SECTION_DATA)(
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN EFI_SECTION_TYPE SectionType,
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
IN OUT VOID **SectionData
IN FRAMEWORK_EFI_PEI_SERVICES **PeiServices,
IN EFI_SECTION_TYPE SectionType,
IN EFI_FFS_FILE_HEADER *FfsFileHeader,
IN OUT VOID **SectionData
);
struct _FRAMEWORK_EFI_PEI_SERVICES {
EFI_TABLE_HEADER Hdr;
EFI_TABLE_HEADER Hdr;
//
// PPI Functions
//
EFI_PEI_INSTALL_PPI InstallPpi;
EFI_PEI_REINSTALL_PPI ReInstallPpi;
EFI_PEI_LOCATE_PPI LocatePpi;
EFI_PEI_NOTIFY_PPI NotifyPpi;
EFI_PEI_INSTALL_PPI InstallPpi;
EFI_PEI_REINSTALL_PPI ReInstallPpi;
EFI_PEI_LOCATE_PPI LocatePpi;
EFI_PEI_NOTIFY_PPI NotifyPpi;
//
// Boot Mode Functions
//
EFI_PEI_GET_BOOT_MODE GetBootMode;
EFI_PEI_SET_BOOT_MODE SetBootMode;
EFI_PEI_GET_BOOT_MODE GetBootMode;
EFI_PEI_SET_BOOT_MODE SetBootMode;
//
// HOB Functions
//
EFI_PEI_GET_HOB_LIST GetHobList;
EFI_PEI_CREATE_HOB CreateHob;
EFI_PEI_GET_HOB_LIST GetHobList;
EFI_PEI_CREATE_HOB CreateHob;
//
// Firmware Volume Functions
//
EFI_PEI_FFS_FIND_NEXT_VOLUME FfsFindNextVolume;
EFI_PEI_FFS_FIND_NEXT_FILE FfsFindNextFile;
EFI_PEI_FFS_FIND_SECTION_DATA FfsFindSectionData;
EFI_PEI_FFS_FIND_NEXT_VOLUME FfsFindNextVolume;
EFI_PEI_FFS_FIND_NEXT_FILE FfsFindNextFile;
EFI_PEI_FFS_FIND_SECTION_DATA FfsFindSectionData;
//
// PEI Memory Functions
//
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
EFI_PEI_ALLOCATE_PAGES AllocatePages;
EFI_PEI_ALLOCATE_POOL AllocatePool;
EFI_PEI_COPY_MEM CopyMem;
EFI_PEI_SET_MEM SetMem;
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory;
EFI_PEI_ALLOCATE_PAGES AllocatePages;
EFI_PEI_ALLOCATE_POOL AllocatePool;
EFI_PEI_COPY_MEM CopyMem;
EFI_PEI_SET_MEM SetMem;
//
// Status Code
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
//
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
//
// Reset
//
EFI_PEI_RESET_SYSTEM ResetSystem;
EFI_PEI_RESET_SYSTEM ResetSystem;
//
// (the following interfaces are installed by publishing PEIM)
//
// I/O Abstractions
//
EFI_PEI_CPU_IO_PPI *CpuIo;
EFI_PEI_PCI_CFG_PPI *PciCfg;
EFI_PEI_CPU_IO_PPI *CpuIo;
EFI_PEI_PCI_CFG_PPI *PciCfg;
};
typedef struct {
UINTN BootFirmwareVolume;
UINTN SizeOfCacheAsRam;
EFI_PEI_PPI_DESCRIPTOR *DispatchTable;
UINTN BootFirmwareVolume;
UINTN SizeOfCacheAsRam;
EFI_PEI_PPI_DESCRIPTOR *DispatchTable;
} EFI_PEI_STARTUP_DESCRIPTOR;
#endif

View File

@ -6,13 +6,12 @@
<pre>
Section: Contents:
1 General Status Code Definitions
2 Class definitions
3 Computing Unit Subclasses, Progress and Error Codes
4 Peripheral Subclasses, Progress and Error Codes.
5 IO Bus Subclasses, Progress and Error Codes.
6 Software Subclasses, Progress and Error Codes.
7 Debug Codes
1 Class definitions
2 Computing Unit Subclasses, Progress and Error Codes
3 Peripheral Subclasses, Progress and Error Codes.
4 IO Bus Subclasses, Progress and Error Codes.
5 Software Subclasses, Progress and Error Codes.
6 Debug Codes
</pre>
Copyright (c) 2007, Intel Corporation
@ -37,10 +36,7 @@
#include <PiPei.h>
//
// /////////////////////////////////////////////////////////////////////////////
// Section 1
///////////////////////////////////////////////////////////////////////////////
//
// Class definitions
// Values of 4-127 are reserved for future use by this
// specification.
@ -60,11 +56,8 @@
#define EFI_SUBCLASS_SPECIFIC 0x1000
#define EFI_OEM_SPECIFIC 0x8000
//
// /////////////////////////////////////////////////////////////////////////////
//
// Section 2
///////////////////////////////////////////////////////////////////////////////
//
// Computing Unit Subclass definitions.
// Values of 8-127 are reserved for future use by this
// specification.
@ -195,10 +188,8 @@
// Computing Unit Chipset Subclass Error Code definitions.
//
///////////////////////////////////////////////////////////////////////////////
// Section 4
///////////////////////////////////////////////////////////////////////////////
//
// Section 3
// Peripheral Subclass definitions.
// Values of 12-127 are reserved for future use by this
// specification.
@ -336,10 +327,8 @@
// Peripheral Class Network Subclass Error Code definitions.
//
///////////////////////////////////////////////////////////////////////////////
// Section 5
///////////////////////////////////////////////////////////////////////////////
//
// Section 4
// IO Bus Subclass definitions.
// Values of 14-127 are reserved for future use by this
// specification.
@ -475,10 +464,8 @@
// IO Bus Class I2C Subclass Error Code definitions.
//
///////////////////////////////////////////////////////////////////////////////
// Section 6
///////////////////////////////////////////////////////////////////////////////
//
// Section 5
// Software Subclass definitions.
// Values of 14-127 are reserved for future use by this
// specification.
@ -870,10 +857,8 @@
// Software Class EFI DXE Service Subclass Error Code definitions.
//
///////////////////////////////////////////////////////////////////////////////
// Section 7
///////////////////////////////////////////////////////////////////////////////
//
// Section 6
// Debug Code definitions for all classes and subclass
// Only one debug code is defined at this point and should
// be used for anything that gets sent to debug stream.