IntelFrameworkPkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
# 4. Some defintitions don't exactly match Framework specification, some new field members are introduced in EdkII
|
||||
# to reflect the latest industry standard.
|
||||
#
|
||||
# Note:
|
||||
# Note:
|
||||
# The IntelFrameworkPkg contains Framework specification contents that were not adopted by UEFI/PI, and names may be
|
||||
# changed (such as adding "FRAMEWORK_") to avoid name collisions with approved UEFI/PI specifications.
|
||||
##
|
||||
@ -42,9 +42,9 @@
|
||||
#pragma pack()
|
||||
|
||||
Section "Alignment" in DataHubSubclass specification say "Fields in a data hub record should be aligned at their
|
||||
natural boundaries". But in EdkII, the data structures above are packed.
|
||||
natural boundaries". But in EdkII, the data structures above are packed.
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
|
||||
|
||||
3. Guid/DataHubRecords.h
|
||||
#define EFI_SUBCLASS_INSTANCE_RESERVED 0
|
||||
#define EFI_SUBCLASS_INSTANCE_NON_APPLICABLE 0xFFFF
|
||||
@ -75,7 +75,7 @@
|
||||
|
||||
The field type of the definition is *NOT* consistent with CacheSubclass specification. Specification defines
|
||||
them as UINT16, which is incorrect and should be UINT32 because the total width of bit-fields is 32bits width.
|
||||
|
||||
|
||||
3. Guid/DataHubRecords.h
|
||||
typedef enum {
|
||||
CacheSizeRecordType = 1,
|
||||
@ -96,8 +96,8 @@
|
||||
#define EFI_CACHE_MAXIMUM_SIZE_RECORD_NUMBER 0x00000002
|
||||
#define EFI_CACHE_SPEED_RECORD_NUMBER 0x00000003
|
||||
#define EFI_CACHE_SOCKET_RECORD_NUMBER 0x00000004
|
||||
#define EFI_CACHE_SRAM_SUPPORT_RECORD_NUMBER 0x00000005
|
||||
#define EFI_CACHE_SRAM_INSTALL_RECORD_NUMBER 0x00000006
|
||||
#define EFI_CACHE_SRAM_SUPPORT_RECORD_NUMBER 0x00000005
|
||||
#define EFI_CACHE_SRAM_INSTALL_RECORD_NUMBER 0x00000006
|
||||
#define EFI_CACHE_ERROR_SUPPORT_RECORD_NUMBER 0x00000007
|
||||
#define EFI_CACHE_TYPE_RECORD_NUMBER 0x00000008
|
||||
#define EFI_CACHE_ASSOCIATIVITY_RECORD_NUMBER 0x00000009
|
||||
@ -150,8 +150,8 @@
|
||||
EfiProcessorFamilyIntelCeleronD = 0xBA,
|
||||
EfiProcessorFamilyIntelPentiumD = 0xBB,
|
||||
EfiProcessorFamilyIntelPentiumEx = 0xBC,
|
||||
EfiProcessorFamilyIntelCoreSolo = 0xBD,
|
||||
EfiProcessorFamilyReserved = 0xBE,
|
||||
EfiProcessorFamilyIntelCoreSolo = 0xBD,
|
||||
EfiProcessorFamilyReserved = 0xBE,
|
||||
EfiProcessorFamilyIntelCore2 = 0xBF,
|
||||
...
|
||||
EfiProcessorFamilyG6 = 0xCB,
|
||||
@ -182,7 +182,7 @@
|
||||
} EFI_PROCESSOR_SOCKET_TYPE_DATA;
|
||||
|
||||
The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support
|
||||
new processor upgrade (type 4 offset 19h) defined in SmBios 2.6 specification.
|
||||
new processor upgrade (type 4 offset 19h) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
5. Guid/DataHubRecords.h
|
||||
@ -195,7 +195,7 @@
|
||||
typedef enum {
|
||||
EfiProcessorHealthy = 1,
|
||||
EfiProcessorPerfRestricted = 2,
|
||||
EfiProcessorFuncRestricted = 3
|
||||
EfiProcessorFuncRestricted = 3
|
||||
} EFI_PROCESSOR_HEALTH_STATUS;
|
||||
|
||||
The structure name "EFI_PROCESSOR_HEALTH_STATUS" is *NOT* consistent with ProcSubclass specification 0.9, in which
|
||||
@ -235,7 +235,7 @@
|
||||
ProcessorPartNumberRecordType = 30,
|
||||
} EFI_CPU_VARIABLE_RECORD_TYPE;
|
||||
|
||||
The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined
|
||||
The enumeration fields from ProcessorCoreFrequencyRecordType to ProcessorHealthStatusRecordType are *NOT* defined
|
||||
in ProcSubclass specification 0.9, which only defines the following macros to specify the record number of the data record:
|
||||
#define EFI_PROCESSOR_FREQUENCY_RECORD_NUMBER 0x00000001
|
||||
#define EFI_PROCESSOR_BUS_FREQUENCY_RECORD_NUMBER 0x00000002
|
||||
@ -263,8 +263,8 @@
|
||||
#define EFI_PROCESSOR_HEALTH_STATUS_RECORD_NUMBER 0x00000018
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
|
||||
The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined
|
||||
in ProcSubclass specification 0.9.
|
||||
The enumeration fields from ProcessorCoreCountRecordType to ProcessorPartNumberRecordType are *NOT* defined
|
||||
in ProcSubclass specification 0.9.
|
||||
They are introduced to support new fields for type 4 defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
@ -274,7 +274,7 @@
|
||||
...
|
||||
EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2;
|
||||
} EFI_CPU_VARIABLE_RECORD;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader;
|
||||
EFI_CPU_VARIABLE_RECORD VariableRecord;
|
||||
@ -314,7 +314,7 @@
|
||||
} EFI_PROCESSOR_CHARACTERISTICS_DATA;
|
||||
|
||||
The fields listed here are *NOT* defined in ProcSubclass specification 0.9. They are introduced to support
|
||||
new fields for type 4 defined in SmBios 2.6 specification.
|
||||
new fields for type 4 defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
##
|
||||
@ -325,26 +325,26 @@
|
||||
...
|
||||
EfiMemoryFormFactorFbDimm = 0x0F
|
||||
} EFI_MEMORY_FORM_FACTOR;
|
||||
|
||||
|
||||
typedef enum _EFI_MEMORY_ARRAY_TYPE {
|
||||
...
|
||||
EfiMemoryTypeDdr2 = 0x13,
|
||||
EfiMemoryTypeDdr2FbDimm = 0x14
|
||||
} EFI_MEMORY_ARRAY_TYPE;
|
||||
|
||||
|
||||
typedef enum {
|
||||
...
|
||||
EfiMemoryStatePartial = 6
|
||||
} EFI_MEMORY_STATE;
|
||||
|
||||
The fields listed above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support
|
||||
new memory device (type 17) defined in SmBios 2.6 specification.
|
||||
new memory device (type 17) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
2. Guid/DataHubRecords.h
|
||||
typedef struct {
|
||||
typedef struct {
|
||||
...
|
||||
EFI_EXP_BASE10_DATA MemorySpeed;
|
||||
EFI_EXP_BASE10_DATA MemorySpeed;
|
||||
...
|
||||
} EFI_MEMORY_ARRAY_LINK_DATA;
|
||||
|
||||
@ -354,7 +354,7 @@
|
||||
3. Guid/DataHubRecords.h
|
||||
#define EFI_MEMORY_CONTROLLER_INFORMATION_RECORD_NUMBER 0x00000008
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiErrorDetectingMethodOther = 1,
|
||||
EfiErrorDetectingMethodUnknown = 2,
|
||||
EfiErrorDetectingMethodNone = 3,
|
||||
@ -375,7 +375,7 @@
|
||||
UINT8 Reserved :2;
|
||||
} EFI_MEMORY_ERROR_CORRECT_CAPABILITY;
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiMemoryInterleaveOther = 1,
|
||||
EfiMemoryInterleaveUnknown = 2,
|
||||
EfiMemoryInterleaveOneWay = 3,
|
||||
@ -445,13 +445,13 @@
|
||||
} EFI_MEMORY_CONTROLLER_INFORMATION_DATA;
|
||||
|
||||
The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support
|
||||
new memory controller information (type 5) defined in SmBios 2.6 specification.
|
||||
new memory controller information (type 5) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
4. Guid/DataHubRecords.h
|
||||
#define EFI_MEMORY_32BIT_ERROR_INFORMATION_RECORD_NUMBER 0x00000009
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiMemoryErrorOther = 1,
|
||||
EfiMemoryErrorUnknown = 2,
|
||||
EfiMemoryErrorOk = 3,
|
||||
@ -468,14 +468,14 @@
|
||||
EfiMemoryErrorUnCorrectable = 14
|
||||
} EFI_MEMORY_ERROR_TYPE;
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiMemoryGranularityOther = 1,
|
||||
EfiMemoryGranularityOtherUnknown = 2,
|
||||
EfiMemoryGranularityDeviceLevel = 3,
|
||||
EfiMemoryGranularityMemPartitionLevel = 4
|
||||
} EFI_MEMORY_ERROR_GRANULARITY_TYPE;
|
||||
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiMemoryErrorOperationOther = 1,
|
||||
EfiMemoryErrorOperationUnknown = 2,
|
||||
EfiMemoryErrorOperationRead = 3,
|
||||
@ -494,12 +494,12 @@
|
||||
} EFI_MEMORY_32BIT_ERROR_INFORMATION;
|
||||
|
||||
The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support
|
||||
new 32-bit memory error information (type 18) defined in SmBios 2.6 specification.
|
||||
new 32-bit memory error information (type 18) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
5. Guid/DataHubRecords.h
|
||||
#define EFI_MEMORY_64BIT_ERROR_INFORMATION_RECORD_NUMBER 0x0000000A
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_MEMORY_ERROR_TYPE MemoryErrorType;
|
||||
EFI_MEMORY_ERROR_GRANULARITY_TYPE MemoryErrorGranularity;
|
||||
@ -511,7 +511,7 @@
|
||||
} EFI_MEMORY_64BIT_ERROR_INFORMATION;
|
||||
|
||||
The definitions above are *NOT* defined in MemSubclass specification 0.9. They are introduced to support
|
||||
new 64-bit memory error information (type 33) defined in SmBios 2.6 specification.
|
||||
new 64-bit memory error information (type 33) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
6. Guid/DataHubRecords.h
|
||||
@ -540,27 +540,27 @@
|
||||
PCI_DEVICE_PATH PciBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} USB_PORT_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _IDE_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} IDE_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _RMC_CONN_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} RMC_CONN_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _RIDE_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} RIDE_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _GB_NIC_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH PciBridgeDevicePath;
|
||||
@ -568,35 +568,35 @@
|
||||
PCI_DEVICE_PATH PciXBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} GB_NIC_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _PS2_CONN_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH LpcBridgeDevicePath;
|
||||
ACPI_HID_DEVICE_PATH LpcBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} PS2_CONN_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _SERIAL_CONN_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH LpcBridgeDevicePath;
|
||||
ACPI_HID_DEVICE_PATH LpcBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} SERIAL_CONN_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _PARALLEL_CONN_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH LpcBridgeDevicePath;
|
||||
ACPI_HID_DEVICE_PATH LpcBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} PARALLEL_CONN_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef struct _FLOOPY_CONN_DEVICE_PATH {
|
||||
ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;
|
||||
PCI_DEVICE_PATH LpcBridgeDevicePath;
|
||||
ACPI_HID_DEVICE_PATH LpcBusDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL EndDevicePath;
|
||||
} FLOOPY_CONN_DEVICE_PATH;
|
||||
|
||||
|
||||
typedef union _EFI_MISC_PORT_DEVICE_PATH {
|
||||
USB_PORT_DEVICE_PATH UsbDevicePath;
|
||||
IDE_DEVICE_PATH IdeDevicePath;
|
||||
@ -640,7 +640,7 @@
|
||||
} EFI_MISC_BIOS_VENDOR_DATA;
|
||||
|
||||
The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support
|
||||
new bios information (type 0) defined in SmBios 2.6 specification.
|
||||
new bios information (type 0) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
4. Guid/DataHubRecords.h
|
||||
@ -651,7 +651,7 @@
|
||||
} EFI_MISC_SYSTEM_MANUFACTURER_DATA;
|
||||
|
||||
The fields listed above are *NOT* defined in MiscSubclass specification 0.9. They are introduced to support
|
||||
new system information (type 1) defined in SmBios 2.6 specification.
|
||||
new system information (type 1) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
5. Guid/DataHubRecords.h
|
||||
@ -662,7 +662,7 @@
|
||||
} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_DATA;
|
||||
|
||||
a. The field "ManagementDeviceThresholdLink" above is *NOT* defined in MiscSubclass specification 0.9. It is introduced to support
|
||||
new management device component (type 35) defined in SmBios 2.6 specification.
|
||||
new management device component (type 35) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
b. The field "ComponentType" above is *NOT* defined in MiscSubclass specifications 0.9. It's implementation-specific to simplify the code logic.
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
@ -705,7 +705,7 @@
|
||||
...
|
||||
} EFI_MISC_ONBOARD_DEVICE_DATA;
|
||||
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the field "OnBoardDeviceStatus" is
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the field "OnBoardDeviceStatus" is
|
||||
named as "OnBoardDeviceType". Keeping this inconsistency for backward compatibility.
|
||||
|
||||
9. Guid/DataHubRecords.h
|
||||
@ -715,7 +715,7 @@
|
||||
"EFI_MISC_BATTERY_LOCATION_RECORD_NUMBER". Keeping this inconsistency for backward compatibility.
|
||||
|
||||
10. Guid/DataHubRecords.h
|
||||
typedef enum {
|
||||
typedef enum {
|
||||
EfiPortableBatteryDeviceChemistryOther = 1,
|
||||
EfiPortableBatteryDeviceChemistryUnknown = 2,
|
||||
EfiPortableBatteryDeviceChemistryLeadAcid = 3,
|
||||
@ -727,7 +727,7 @@
|
||||
} EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;
|
||||
|
||||
The name of the definition is *NOT* consistent with MiscSubclass specification, in which it is defined as
|
||||
"EFI_MISC_BATTERY_DEVICE_CHEMISTRY". And all field names have a redundant "Portable" string compared with MisSubclass
|
||||
"EFI_MISC_BATTERY_DEVICE_CHEMISTRY". And all field names have a redundant "Portable" string compared with MisSubclass
|
||||
specification 0.9.
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
|
||||
@ -753,7 +753,7 @@
|
||||
} EFI_MISC_PORTABLE_BATTERY;
|
||||
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the structure name is defined as
|
||||
"EFI_MISC_BATTERY_LOCATION_DATA". Moreover, the name and the order of all fields are also different with MiscSubclass
|
||||
"EFI_MISC_BATTERY_LOCATION_DATA". Moreover, the name and the order of all fields are also different with MiscSubclass
|
||||
specification 0.9. Keeping this inconsistency for backward compatibility.
|
||||
|
||||
12. Guid/DataHubRecords.h
|
||||
@ -770,7 +770,7 @@
|
||||
...
|
||||
} EFI_MISC_BOOT_INFORMATION_STATUS_DATA;
|
||||
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is
|
||||
"EFI_MISC_BOOT_INFORMATION_STATUS_TYPE". Keeping this inconsistency for backward compatibility.
|
||||
|
||||
14. Guid/DataHubRecords.h
|
||||
@ -796,7 +796,7 @@
|
||||
...
|
||||
} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION_DATA;
|
||||
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is
|
||||
The definition is *NOT* consistent with MiscSubclass specification 0.9, in which the type of the first field is
|
||||
"EFI_SMBIOS_STRUCTURE_HDR". Keeping this inconsistency for backward compatibility.
|
||||
|
||||
17. Guid/DataHubRecords.h
|
||||
@ -837,7 +837,7 @@
|
||||
#define ACCESS_GPNV 0x04
|
||||
|
||||
The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support
|
||||
new system event log (type 15) defined in SmBios 2.6 specification.
|
||||
new system event log (type 15) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
19. Guid/DataHubRecords.h
|
||||
@ -853,7 +853,7 @@
|
||||
} EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;
|
||||
|
||||
The definitions listed above are *NOT* defined in MiscSubclass specification 0.9. It is introduced to support
|
||||
new management device threshold data (type 36) defined in SmBios 2.6 specification.
|
||||
new management device threshold data (type 36) defined in SmBios 2.6 specification.
|
||||
Keeping this inconsistency to reflect the latest industry standard.
|
||||
|
||||
20. Guid/DataHubRecords.h
|
||||
@ -881,7 +881,7 @@
|
||||
UINT32 CoolingDeviceOemDefined;
|
||||
} EFI_MISC_COOLING_DEVICE_TEMP_LINK_DATA;
|
||||
|
||||
The "CoolingDeviceUnitGroup" field and "CoolingDeviceNominalSpeed" field are *NOT* consistent with
|
||||
The "CoolingDeviceUnitGroup" field and "CoolingDeviceNominalSpeed" field are *NOT* consistent with
|
||||
MiscSubclass specification 0.9. These fields are aligned with SMBIOS 2.6 specification. And user can easily
|
||||
assign any value to CoolingDeviceNominalSpeed.
|
||||
|
||||
@ -986,7 +986,7 @@
|
||||
#define EFI_SW_EC_X64_SIMD EXCEPT_X64_SIMD
|
||||
|
||||
The definitions are *NOT* defined in Framework StatusCodes specification 0.92, in which IA32 and IPF exception subclass error code definitions
|
||||
are defined but omit the corresponding definitions for X64. EdkII introduce these definitions for implementation.
|
||||
are defined but omit the corresponding definitions for X64. EdkII introduce these definitions for implementation.
|
||||
|
||||
##
|
||||
# Mismatch with Intel Platform Innovation Framework for EFI Boot Script Specification (Version 0.91)
|
||||
@ -1030,8 +1030,8 @@
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
|
||||
5. Include/Protocol/BootScriptSave.h
|
||||
typedef
|
||||
EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BOOT_SCRIPT_CLOSE_TABLE) (
|
||||
IN EFI_BOOT_SCRIPT_SAVE_PROTOCOL *This,
|
||||
...
|
||||
@ -1057,7 +1057,7 @@
|
||||
##
|
||||
1. Include/Framework/DxeCis.h
|
||||
EFI_STATUS_CODE_ARCH_PROTOCOL is removed.
|
||||
|
||||
|
||||
EdkII doesn't provide EFI_STATUS_CODE_ARCH_PROTOCOL definition due to ReportStatusCode() field has been
|
||||
removed from EFI Runtime Service Table of PI specification. EFI_STATUS_CODE_ARCH_PROTOCOL is *NOT* required,
|
||||
and is replaced with EFI_STATUS_CODE_RUNTIME_PROTOCOL.
|
||||
@ -1082,7 +1082,7 @@
|
||||
}
|
||||
|
||||
The Framework HII specification 0.92 changed part of HII interfaces but did not update the protocol GUID.
|
||||
This change should cause a change of GUID in both of code and HII spec. EdkII updates the GUID in code,
|
||||
This change should cause a change of GUID in both of code and HII spec. EdkII updates the GUID in code,
|
||||
but the Framework HII specification 0.92 is not updated. This is a known issue.
|
||||
|
||||
2. Include/Protocol/FrameworkHii.h
|
||||
@ -1111,8 +1111,8 @@
|
||||
...
|
||||
};
|
||||
|
||||
The field listed above is *NOT* defined in Framework HII specification 0.92. EdkII adds this field to provide
|
||||
an ability of removing any new strings that were added after the initial string export for this handle.
|
||||
The field listed above is *NOT* defined in Framework HII specification 0.92. EdkII adds this field to provide
|
||||
an ability of removing any new strings that were added after the initial string export for this handle.
|
||||
|
||||
5. Include/Protocol/FrameworkHii.h
|
||||
typedef
|
||||
@ -1134,25 +1134,25 @@
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_SUPPRESS;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_GRAY_OUT;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
STRING_REF Popup;
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_INCONSISTENT;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId;
|
||||
UINT8 Width;
|
||||
UINT16 Value;
|
||||
} FRAMEWORK_EFI_IFR_EQ_ID_VAL;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId;
|
||||
@ -1160,14 +1160,14 @@
|
||||
UINT16 ListLength;
|
||||
UINT16 ValueList[1];
|
||||
} FRAMEWORK_EFI_IFR_EQ_ID_LIST;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT16 QuestionId1;
|
||||
UINT8 Width;
|
||||
UINT16 QuestionId2;
|
||||
} FRAMEWORK_EFI_IFR_EQ_ID_ID;
|
||||
|
||||
|
||||
typedef struct {
|
||||
FRAMEWORK_EFI_IFR_OP_HEADER Header;
|
||||
UINT16 VariableId;
|
||||
@ -1177,7 +1177,7 @@
|
||||
The defintions are not complied with Framework HII spec 0.92. Keeping the inconsistent for implementation needed.
|
||||
|
||||
7. Include/Protocol/FrameworkFormCallback.h
|
||||
#define RESET_REQUIRED 1
|
||||
#define RESET_REQUIRED 1
|
||||
#define EXIT_REQUIRED 2
|
||||
#define SAVE_REQUIRED 4
|
||||
#define NV_CHANGED 8
|
||||
@ -1231,8 +1231,8 @@
|
||||
...
|
||||
} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
|
||||
|
||||
1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's
|
||||
defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK".
|
||||
1) The name of the definition is *NOT* consistent with Framework SmmCis specification 0.91, in which it's
|
||||
defined as "EFI_HOB_SMRAM_DESCRIPTOR_BLOCK" rather than "EFI_SMRAM_HOB_DESCRIPTOR_BLOCK".
|
||||
Keeping this inconsistency for backward compatibility.
|
||||
|
||||
2) The definition of NumberOfSmmReservedRegions is *NOT* consistent with Framework SmmCis specification 0.91,
|
||||
@ -1260,7 +1260,7 @@
|
||||
3. Include/Framework/SmmCis.h
|
||||
typedef union {
|
||||
///
|
||||
/// The processor save-state information for IA-32 processors.
|
||||
/// The processor save-state information for IA-32 processors.
|
||||
///
|
||||
EFI_SMI_CPU_SAVE_STATE Ia32SaveState;
|
||||
///
|
||||
@ -1291,7 +1291,7 @@
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACPI_S3_SAVE) (
|
||||
IN EFI_ACPI_S3_SAVE_PROTOCOL *This,
|
||||
IN VOID *LegacyMemoryAddress
|
||||
IN VOID *LegacyMemoryAddress
|
||||
);
|
||||
|
||||
The first parameter's type is *NOT* consistent with Framework S3Resume specification, in which it's defined as
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This file contains the boot script defintions that are shared between the
|
||||
This file contains the boot script defintions that are shared between the
|
||||
Boot Script Executor PPI and the Boot Script Save Protocol.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -18,14 +18,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
#include <PiDxe.h>
|
||||
///
|
||||
/// The framework implementation defines follow opcode that are different from the PI specification:
|
||||
/// The framework implementation defines follow opcode that are different from the PI specification:
|
||||
/// Add FRAMEWORK_ prefix to avoid naming conflict.
|
||||
///
|
||||
/// S3 Boot Script Table identifier.
|
||||
///
|
||||
#define FRAMEWORK_EFI_ACPI_S3_RESUME_SCRIPT_TABLE 0x00
|
||||
///
|
||||
/// The opcode is used to add a record for memory reads of the memory location and continues when the
|
||||
/// The opcode is used to add a record for memory reads of the memory location and continues when the
|
||||
/// exit criteria is satisfied, or after a defined duration.
|
||||
///
|
||||
#define FRAMEWORK_EFI_BOOT_SCRIPT_MEM_POLL_OPCODE 0x09
|
||||
|
@ -2,13 +2,13 @@
|
||||
Include file for definitions in the Intel Platform Innovation Framework for EFI
|
||||
Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.91.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -20,9 +20,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
/**
|
||||
Functions of this type are used with the Framework MP Services Protocol and
|
||||
the SMM Services Table to execute a procedure on enabled APs. The context
|
||||
the SMM Services Table to execute a procedure on enabled APs. The context
|
||||
the AP should use durng execution is specified by Buffer.
|
||||
|
||||
|
||||
@param[in] Buffer The pointer to the procedure's argument.
|
||||
|
||||
**/
|
||||
|
@ -3,13 +3,13 @@
|
||||
all firmware volumes that are either memory mapped or have an
|
||||
associated FirmwareVolumeBlock protocol.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -3,14 +3,14 @@
|
||||
images loaded via the FirmwareVolume protocol. The Firmware Volume specification
|
||||
is the basis for these definitions.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from the Firmware Volume Spec 0.9.
|
||||
|
@ -3,14 +3,14 @@
|
||||
Framework IFR is primarily consumed by the EFI presentation engine, and produced by EFI
|
||||
internal application and drivers as well as all add-in card option-ROM drivers
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from the Framework Specification HII 0.92.
|
||||
@ -222,8 +222,8 @@ typedef struct {
|
||||
|
||||
//
|
||||
// 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, and 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
|
||||
// from a user, and 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.
|
||||
@ -256,7 +256,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
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.
|
||||
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.
|
||||
@ -277,7 +277,7 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The following defintion may not comply with Framework Specification HII 0.92. To
|
||||
/// The following defintion may not comply with Framework Specification HII 0.92. To
|
||||
/// keep the inconsistant is for implementation needed.
|
||||
///@{
|
||||
typedef struct {
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This file defines the data structures per HOB specification v0.9.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -21,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// Capsule volume HOB -- identical to a firmware volume.
|
||||
/// This macro is defined to comply with the hob Framework Spec. And the marco was
|
||||
/// retired in the PI1.0 specification.
|
||||
/// retired in the PI1.0 specification.
|
||||
///
|
||||
#define EFI_HOB_TYPE_CV 0x0008
|
||||
|
||||
|
@ -2,14 +2,14 @@
|
||||
The Include file for definitions in the Intel Platform Innovation Framework for EFI
|
||||
Pre-EFI Initialization Core Interface Specification (PEI CIS) Version 0.91.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@ -35,8 +35,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _FRAMEWORK_EFI_PEI_SERVICES FRAMEWORK_EFI_PEI_SERVICES;
|
||||
|
||||
/**
|
||||
The PEI Dispatcher will invoke each PEIM one time. During this pass, the PEI
|
||||
Dispatcher will pass control to the PEIM at the AddressOfEntryPoint in the PE Header.
|
||||
The PEI Dispatcher will invoke each PEIM one time. During this pass, the PEI
|
||||
Dispatcher will pass control to the PEIM at the AddressOfEntryPoint in the PE Header.
|
||||
|
||||
@param FfsHeader The pointer to the FFS file header.
|
||||
@param PeiServices Describes the list of possible PEI Services.
|
||||
@ -50,11 +50,11 @@ EFI_STATUS
|
||||
IN EFI_FFS_FILE_HEADER *FfsHeader,
|
||||
IN EFI_PEI_SERVICES **PeiServices
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This service abstracts the capability of the PEI
|
||||
Foundation to discover instances of firmware volumes in the system.
|
||||
Given the input file pointer, this service searches for the next
|
||||
This service abstracts the capability of the PEI
|
||||
Foundation to discover instances of firmware volumes in the system.
|
||||
Given the input file pointer, this service searches for the next
|
||||
matching file in the Firmware File System (FFS) volume.
|
||||
|
||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||
@ -73,18 +73,18 @@ EFI_STATUS
|
||||
IN UINTN Instance,
|
||||
IN OUT EFI_FIRMWARE_VOLUME_HEADER **FwVolHeader
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This service abstracts the capability of the PEI
|
||||
Foundation to discover instances of firmware files in the system.
|
||||
Given the input file pointer, this service searches for the next matching
|
||||
This service abstracts the capability of the PEI
|
||||
Foundation to discover instances of firmware files in the system.
|
||||
Given the input file pointer, this service searches for the next matching
|
||||
file in the Firmware File System (FFS) volume.
|
||||
|
||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||
@param SearchType A filter to find files only of this type.
|
||||
@param FwVolHeader The pointer to the firmware volume header of the volume to search. This parameter
|
||||
@param FwVolHeader The pointer to the firmware volume header of the volume to search. This parameter
|
||||
must point to a valid FFS volume.
|
||||
@param FileHeader The pointer to the current file from which to begin searching. Upon return this pointer will be
|
||||
@param FileHeader The pointer to the current file from which to begin searching. Upon return this pointer will be
|
||||
updated to reflect the file found.
|
||||
|
||||
@retval EFI_SUCCESS The file was found.
|
||||
@ -102,8 +102,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Given the input file pointer, this service searches for the next
|
||||
matching file in the Firmware File System (FFS) volume.
|
||||
Given the input file pointer, this service searches for the next
|
||||
matching file in the Firmware File System (FFS) volume.
|
||||
|
||||
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.
|
||||
@param SectionType The value of the section type to find.
|
||||
@ -125,16 +125,16 @@ EFI_STATUS
|
||||
|
||||
///
|
||||
/// FRAMEWORK_EFI_PEI_SERVICES is a collection of functions whose implementation is provided by the PEI
|
||||
/// Foundation. The table may be located in the temporary or permanent memory, depending upon the capabilities
|
||||
/// Foundation. The table may be located in the temporary or permanent memory, depending upon the capabilities
|
||||
/// and phase of execution of PEI.
|
||||
///
|
||||
///
|
||||
/// These services fall into various classes, including the following:
|
||||
/// - Managing the boot mode.
|
||||
/// - Allocating both early and permanent memory.
|
||||
/// - Supporting the Firmware File System (FFS).
|
||||
/// - Abstracting the PPI database abstraction.
|
||||
/// - Creating Hand-Off Blocks (HOBs).
|
||||
///
|
||||
///
|
||||
struct _FRAMEWORK_EFI_PEI_SERVICES {
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
//
|
||||
@ -178,10 +178,10 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
|
||||
//
|
||||
EFI_PEI_RESET_SYSTEM ResetSystem;
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework Spec, PeiCis0.91, CpuIo and PciCfg are NOT pointers.
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework Spec, PeiCis0.91, CpuIo and PciCfg are NOT pointers.
|
||||
///
|
||||
|
||||
|
||||
//
|
||||
// I/O Abstractions
|
||||
//
|
||||
@ -193,19 +193,19 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
|
||||
///
|
||||
typedef enum {
|
||||
///
|
||||
/// Used to induce a system-wide reset. This sets all circuitry within the
|
||||
/// 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
|
||||
/// operation and operates withgout regard to cycle boundaries. EfiColdReset
|
||||
/// is tantamount to a system power cycle.
|
||||
///
|
||||
EfiPeiResetCold,
|
||||
///
|
||||
/// 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
|
||||
/// initial state, and pending cycles are not corrupted. If the system does
|
||||
/// not support this reset type, then an EfiResetCold must be performed.
|
||||
///
|
||||
EfiPeiResetWarm,
|
||||
} EFI_PEI_RESET_TYPE;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
Include file for definitions in the Intel Platform Innovation Framework for EFI
|
||||
System Management Mode Core Interface Specification (SMM CIS) version 0.91.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -33,17 +33,17 @@ typedef struct _EFI_SMM_SYSTEM_TABLE EFI_SMM_SYSTEM_TABLE;
|
||||
Allocates pool memory from SMRAM for IA-32, or runtime memory for
|
||||
the Itanium processor family.
|
||||
|
||||
@param PoolType The type of pool to allocate. The only supported type
|
||||
@param PoolType The type of pool to allocate. The only supported type
|
||||
is EfiRuntimeServicesData.
|
||||
@param Size The number of bytes to allocate from the pool.
|
||||
@param Buffer A pointer to a pointer to the allocated buffer if the
|
||||
@param Buffer A pointer to a pointer to the allocated buffer if the
|
||||
call succeeds. Otherwise, undefined.
|
||||
|
||||
@retval EFI_SUCCESS The requested number of bytes was allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
|
||||
@retval EFI_UNSUPPORTED In runtime.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework Spec, this definition is named EFI_SMM_ALLOCATE_POOL.
|
||||
In Framework Spec, this definition is named EFI_SMM_ALLOCATE_POOL.
|
||||
To avoid a naming conflict, the definition is renamed.
|
||||
**/
|
||||
typedef
|
||||
@ -63,8 +63,8 @@ EFI_STATUS
|
||||
@retval EFI_INVALID_PARAMETER Buffer was invalid.
|
||||
@retval EFI_UNSUPPORTED In runtime.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework Spec, this definition is named EFI_SMM_FREE_POOL.
|
||||
To avoid a naming conflict, the definition is renamed.
|
||||
In Framework Spec, this definition is named EFI_SMM_FREE_POOL.
|
||||
To avoid a naming conflict, the definition is renamed.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -88,7 +88,7 @@ EFI_STATUS
|
||||
@retval EFI_INVALID_PARAMETER Type is not AllocateAnyPages or AllocateMaxAddress
|
||||
or AllocateAddress. Or, MemoryType is in the range EfiMaxMemoryType..0x7FFFFFFF.
|
||||
@note Inconsistent with specification here:
|
||||
In the Framework Spec, this definition is named EFI_SMM_ALLOCATE_PAGES.
|
||||
In the Framework Spec, this definition is named EFI_SMM_ALLOCATE_PAGES.
|
||||
To avoid a naming conflict, the definition here is renamed.
|
||||
**/
|
||||
typedef
|
||||
@ -109,9 +109,9 @@ EFI_STATUS
|
||||
@retval EFI_SUCCESS The requested memory pages were freed.
|
||||
@retval EFI_INVALID_PARAMETER Memory is not a page-aligned address or NumberOfPages is invalid.
|
||||
@retval EFI_NOT_FOUND The requested memory pages were not allocated with SmmAllocatePages().
|
||||
|
||||
|
||||
@note Inconsistent with specification here:
|
||||
In the Framework Spec, this definition is named EFI_SMM_FREE_PAGES.
|
||||
In the Framework Spec, this definition is named EFI_SMM_FREE_PAGES.
|
||||
To avoid a naming conflict, the definition here is renamed.
|
||||
**/
|
||||
typedef
|
||||
@ -155,7 +155,7 @@ typedef struct {
|
||||
UINT8 Reserved2[164];
|
||||
|
||||
//
|
||||
// Registers in IA-32 processors.
|
||||
// Registers in IA-32 processors.
|
||||
//
|
||||
UINT32 ES;
|
||||
UINT32 CS;
|
||||
@ -185,7 +185,7 @@ typedef struct {
|
||||
/// The processor save-state information for the Itanium processor family. This information is
|
||||
/// important in that the SMM drivers may need to ascertain the state of the processor before invoking
|
||||
/// the PMI. This structure is mandatory and must be 512 byte aligned.
|
||||
///
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 reserved;
|
||||
UINT64 r1;
|
||||
@ -303,7 +303,7 @@ typedef struct {
|
||||
///
|
||||
typedef union {
|
||||
///
|
||||
/// The processor save-state information for IA-32 processors.
|
||||
/// The processor save-state information for IA-32 processors.
|
||||
///
|
||||
EFI_SMI_CPU_SAVE_STATE Ia32SaveState;
|
||||
///
|
||||
@ -342,8 +342,8 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// The optional floating point save-state information for the Itanium processor family. If the optional
|
||||
/// floating point save is indicated for any handler, then this data structure must be preserved.
|
||||
///
|
||||
/// floating point save is indicated for any handler, then this data structure must be preserved.
|
||||
///
|
||||
typedef struct {
|
||||
UINT64 f2[2];
|
||||
UINT64 f3[2];
|
||||
@ -382,12 +382,12 @@ typedef struct {
|
||||
/// point save is indicated for any handler, then this data structure must be preserved.
|
||||
///
|
||||
typedef union {
|
||||
///
|
||||
/// The optional floating point save-state information for IA-32 processors.
|
||||
///
|
||||
/// The optional floating point save-state information for IA-32 processors.
|
||||
///
|
||||
EFI_SMI_OPTIONAL_FPSAVE_STATE Ia32FpSave;
|
||||
///
|
||||
/// The optional floating point save-state information for Itanium processors.
|
||||
/// The optional floating point save-state information for Itanium processors.
|
||||
///
|
||||
EFI_PMI_OPTIONAL_FLOATING_POINT_CONTEXT ItaniumFpSave;
|
||||
} EFI_SMM_FLOATING_POINT_SAVE_STATE;
|
||||
@ -447,7 +447,7 @@ EFI_STATUS
|
||||
//
|
||||
struct _EFI_SMM_SYSTEM_TABLE {
|
||||
///
|
||||
/// The table header for the System Management System Table (SMST).
|
||||
/// The table header for the System Management System Table (SMST).
|
||||
///
|
||||
EFI_TABLE_HEADER Hdr;
|
||||
|
||||
@ -462,7 +462,7 @@ struct _EFI_SMM_SYSTEM_TABLE {
|
||||
UINT32 SmmFirmwareRevision;
|
||||
|
||||
///
|
||||
/// Adds, updates, or removes a configuration table entry from the SMST.
|
||||
/// Adds, updates, or removes a configuration table entry from the SMST.
|
||||
///
|
||||
EFI_SMM_INSTALL_CONFIGURATION_TABLE SmmInstallConfigurationTable;
|
||||
|
||||
@ -470,7 +470,7 @@ struct _EFI_SMM_SYSTEM_TABLE {
|
||||
// I/O Services
|
||||
//
|
||||
///
|
||||
/// A GUID that designates the particular CPU I/O services.
|
||||
/// A GUID that designates the particular CPU I/O services.
|
||||
///
|
||||
EFI_GUID EfiSmmCpuIoGuid;
|
||||
///
|
||||
@ -489,11 +489,11 @@ struct _EFI_SMM_SYSTEM_TABLE {
|
||||
///
|
||||
EFI_SMMCORE_ALLOCATE_POOL SmmAllocatePool;
|
||||
///
|
||||
/// Returns pool memory to the system.
|
||||
/// Returns pool memory to the system.
|
||||
///
|
||||
EFI_SMMCORE_FREE_POOL SmmFreePool;
|
||||
///
|
||||
/// Allocates memory pages from the system.
|
||||
/// Allocates memory pages from the system.
|
||||
///
|
||||
EFI_SMMCORE_ALLOCATE_PAGES SmmAllocatePages;
|
||||
///
|
||||
@ -504,9 +504,9 @@ struct _EFI_SMM_SYSTEM_TABLE {
|
||||
//
|
||||
// MP service
|
||||
//
|
||||
|
||||
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework Spec, this definition does not exist. This method is introduced in PI1.1 specification for
|
||||
/// In Framework Spec, this definition does not exist. This method is introduced in PI1.1 specification for
|
||||
/// the implementation needed.
|
||||
EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp;
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
Status Code Definitions, according to Intel Platform Innovation Framework
|
||||
for EFI Status Codes Specification
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -28,8 +28,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// Software Class DXE BS Driver Subclass Progress Code definitions.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
@ -39,8 +39,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// Software Class DXE RT Driver Subclass Progress Code definitions.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
@ -54,8 +54,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// Software Subclass definitions.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000)
|
||||
|
||||
@ -64,8 +64,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
/// These exceptions are derived from the debug protocol definitions in the EFI
|
||||
/// specification.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_EC_X64_DIVIDE_ERROR EXCEPT_X64_DIVIDE_ERROR
|
||||
@ -98,17 +98,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// Software Class DXE Core Subclass Error Code definitions.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
#define EFI_SW_CSM_LEGACY_ROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_CSM_LEGACY_ROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
|
||||
///
|
||||
/// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.
|
||||
///
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_IOB_ATA_BUS_SMART_ENABLE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
@ -121,8 +121,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
/// IO Bus Class ATA/ATAPI Subclass Error Code definitions.
|
||||
///
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
@ -132,8 +132,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
///
|
||||
/// The reason that the processor was disabled.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
/// Inconsistent with specification here:
|
||||
/// The Framework Specification, StatusCodes 0.92, does not define the macros.
|
||||
///
|
||||
///@{
|
||||
#define EFI_CPU_CAUSE_NOT_DISABLED 0x0000
|
||||
|
@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
The root header file that provides Framework extension to UEFI/PI for modules. It can be included by
|
||||
The root header file that provides Framework extension to UEFI/PI for modules. It can be included by
|
||||
DXE, RUNTIME and SMM type modules that use Framework definitions.
|
||||
|
||||
|
||||
This header file includes Framework extension definitions common to DXE
|
||||
modules.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
|
||||
|
@ -4,13 +4,13 @@
|
||||
This header file must include Framework extension definitions common to PEI
|
||||
modules.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
@ -4,13 +4,13 @@
|
||||
This header file must include Framework extension definitions common to DXE
|
||||
modules.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
@ -1,24 +1,24 @@
|
||||
/** @file
|
||||
This file declares the hardware-device class GUIDs that may be used by the
|
||||
This file declares the hardware-device class GUIDs that may be used by the
|
||||
PEIM that produces the Virtual Block I/O PPI.
|
||||
|
||||
These GUIDs are hardware-device class GUIDs that would be imported only by the
|
||||
Virtual Block I/O PEIM. This virtual PEIM imports only the actual Block I/O
|
||||
Virtual Block I/O PEIM. This virtual PEIM imports only the actual Block I/O
|
||||
PPIs from the device-class ones listed here and published a single instance of
|
||||
the Block I/O PPI for consumption by the File System PEIM. In the parlance of
|
||||
the Framework DXE software stack, this Virtual Block I/O PEIM is actually
|
||||
the Framework DXE software stack, this Virtual Block I/O PEIM is actually
|
||||
embodying the functionality of the partition driver. Thsi Virtual Block I/O
|
||||
PEIM has to multiple the multiple possible instances of Block I/O and also know
|
||||
how to parse at least El Torito for CD-ROM, and perhaps Master Boot Record(MBR)
|
||||
and GUID Partition Table(GPT) in the future.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Framework Capule related Definition.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -71,7 +71,7 @@ typedef struct {
|
||||
///
|
||||
UINT32 HeaderSize;
|
||||
///
|
||||
/// A bit-mapped list describing the capsule's attributes.
|
||||
/// A bit-mapped list describing the capsule's attributes.
|
||||
/// All undefined bits should be written as zero (0).
|
||||
///
|
||||
UINT32 Flags;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,13 +2,13 @@
|
||||
Guid used to define the Firmware File System. See the Framework Firmware
|
||||
File System Specification for more details.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -2,13 +2,13 @@
|
||||
Definitions EFI_SMM_COMMUNICATE_HEADER used by EFI_SMM_BASE_PROTOCOL.Communicate()
|
||||
functions.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define _SMM_COMMUNICATE_GUID_H_
|
||||
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// Inconsistent with specification here:
|
||||
/// GUID definition format has been changed, because the GUID format in the Framework specification is incorrect.
|
||||
///
|
||||
#define SMM_COMMUNICATE_HEADER_GUID \
|
||||
|
@ -8,13 +8,13 @@
|
||||
* the GUID specific data structure of HOB for reserving SMRAM regions.
|
||||
This GUIDed HOB can be used to convey the existence of the T-SEG reservation and H-SEG usage
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -33,23 +33,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
/**
|
||||
* GUID specific data structure of HOB for reserving SMRAM regions.
|
||||
*
|
||||
* Inconsistent with specification here:
|
||||
* Inconsistent with specification here:
|
||||
* EFI_HOB_SMRAM_DESCRIPTOR_BLOCK has been changed to EFI_SMRAM_HOB_DESCRIPTOR_BLOCK.
|
||||
* This inconsistency is kept in code in order for backward compatibility.
|
||||
**/
|
||||
typedef struct {
|
||||
///
|
||||
/// Designates the number of possible regions in the system
|
||||
/// that can be usable for SMRAM.
|
||||
/// that can be usable for SMRAM.
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework SMM CIS 0.91 specification, it defines the field type as UINTN.
|
||||
/// However, HOBs are supposed to be CPU neutral, so UINT32 should be used instead.
|
||||
///
|
||||
UINT32 NumberOfSmmReservedRegions;
|
||||
///
|
||||
/// Used throughout this protocol to describe the candidate
|
||||
/// regions for SMRAM that are supported by this platform.
|
||||
/// regions for SMRAM that are supported by this platform.
|
||||
///
|
||||
EFI_SMRAM_DESCRIPTOR Descriptor[1];
|
||||
} EFI_SMRAM_HOB_DESCRIPTOR_BLOCK;
|
||||
|
@ -8,13 +8,13 @@
|
||||
execution, the PEIM looks for a relevant PPI that is available to execute it, rather than executing it
|
||||
by issuing the native IA-32 instruction.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -39,10 +39,10 @@ typedef struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI EFI_PEI_BOOT_SCRIPT_EXECUTER_PP
|
||||
@param PeiServices A pointer to the system PEI Services Table.
|
||||
@param This A pointer to the EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI instance.
|
||||
@param Address The physical memory address where the table is stored.
|
||||
It must be zero if the table to be executed is stored in
|
||||
It must be zero if the table to be executed is stored in
|
||||
a firmware volume file.
|
||||
@param FvFile The firmware volume file name that contains the table to
|
||||
be executed. It must be NULL if the table to be executed
|
||||
be executed. It must be NULL if the table to be executed
|
||||
is stored in physical memory.
|
||||
|
||||
@retval EFI_SUCCESS The boot script table was executed successfully.
|
||||
@ -50,7 +50,7 @@ typedef struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI EFI_PEI_BOOT_SCRIPT_EXECUTER_PP
|
||||
@retval EFI_NOT_FOUND The file name specified in FvFile cannot be found.
|
||||
@retval EFI_UNSUPPORTED The format of the boot script table is invalid.
|
||||
Or, an unsupported opcode occurred in the table.
|
||||
Or there were opcode execution errors, such as an
|
||||
Or there were opcode execution errors, such as an
|
||||
insufficient dependency.
|
||||
|
||||
**/
|
||||
@ -64,14 +64,14 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI produces the function which interprets and
|
||||
/// EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI produces the function which interprets and
|
||||
/// executes the Framework boot script table.
|
||||
///
|
||||
struct _EFI_PEI_BOOT_SCRIPT_EXECUTER_PPI {
|
||||
///
|
||||
/// Executes a boot script table.
|
||||
///
|
||||
EFI_PEI_BOOT_SCRIPT_EXECUTE Execute;
|
||||
///
|
||||
/// Executes a boot script table.
|
||||
///
|
||||
EFI_PEI_BOOT_SCRIPT_EXECUTE Execute;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPeiBootScriptExecuterPpiGuid;
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This file declares FindFv PPI, which is used to locate FVs that contain PEIMs in PEI.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -20,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define _FIND_FV_H_
|
||||
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// Inconsistent with specification here:
|
||||
/// GUID value format has been changed to the standard GUID format.
|
||||
///
|
||||
#define EFI_PEI_FIND_FV_PPI_GUID \
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Load image file from fv to memory.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This file declares the PciCfg PPI used to access the PCI configuration space in PEI
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This PPI is defined in PEI CIS
|
||||
@ -85,7 +85,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
The EFI_PEI_PCI_CFG_PPI interfaces are used to abstract accesses to PCI
|
||||
The EFI_PEI_PCI_CFG_PPI interfaces are used to abstract accesses to PCI
|
||||
controllers behind a PCI root bridge controller.
|
||||
**/
|
||||
struct _EFI_PEI_PCI_CFG_PPI {
|
||||
@ -93,12 +93,12 @@ struct _EFI_PEI_PCI_CFG_PPI {
|
||||
/// PCI read services. See the Read() function description.
|
||||
///
|
||||
EFI_PEI_PCI_CFG_PPI_IO Read;
|
||||
|
||||
|
||||
///
|
||||
/// PCI write services. See the Write() function description.
|
||||
///
|
||||
EFI_PEI_PCI_CFG_PPI_IO Write;
|
||||
|
||||
|
||||
///
|
||||
/// PCI read-modify-write services. See the Modify() function description.
|
||||
///
|
||||
|
@ -7,13 +7,13 @@
|
||||
storage. As such, a write command to certain technologies would alter the contents of the entire part,
|
||||
making the PEIM execution in the original position not follow the required flow.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -38,17 +38,17 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE_PPI EFI_PEI_READ_ONLY_VARIABLE_PPI;
|
||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework Spec, PeiCis0.91, neither the macro or its value is defined.
|
||||
/// Keeping this inconsistancy for backward compatibility.
|
||||
///
|
||||
///
|
||||
#define EFI_VARIABLE_READ_ONLY 0x00000008
|
||||
///@}
|
||||
|
||||
/**
|
||||
Get Variable value by Name and GUID pair.
|
||||
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table published
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table published
|
||||
by the PEI Foundation.
|
||||
@param[in] VariableName A NULL-terminated Unicode string that is the name of the vendor's variable.
|
||||
@param[in] VendorGuid A unique identifier for the vendor.
|
||||
@ -84,22 +84,22 @@ EFI_STATUS
|
||||
and on output the interface returns the next variable name data. When the
|
||||
entire variable list has been returned, the error EFI_NOT_FOUND is returned.
|
||||
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table
|
||||
@param[in] PeiServices An indirect pointer to the PEI Services Table
|
||||
published by the PEI Foundation.
|
||||
@param[in] VariableNameSize The size of the VariableName buffer.
|
||||
@param[in] VariableName On input, supplies the last VariableName that was
|
||||
returned by GetNextVariableName(). On output,
|
||||
returns the Null-terminated Unicode string of the
|
||||
returned by GetNextVariableName(). On output,
|
||||
returns the Null-terminated Unicode string of the
|
||||
current variable.
|
||||
@param[in] VendorGuid On input, supplies the last VendorGuid that was
|
||||
returned by GetNextVariableName(). On output,
|
||||
returned by GetNextVariableName(). On output,
|
||||
returns the VendorGuid of the current variable.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The next variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the result.
|
||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
||||
@retval EFI_DEVICE_ERROR The variable name could not be retrieved due to
|
||||
@retval EFI_DEVICE_ERROR The variable name could not be retrieved due to
|
||||
a hardware error.
|
||||
|
||||
**/
|
||||
@ -114,19 +114,19 @@ EFI_STATUS
|
||||
|
||||
///
|
||||
/// This PPI provides a lightweight, read-only variant of the full EFI
|
||||
/// variable services.
|
||||
/// variable services.
|
||||
///
|
||||
struct _EFI_PEI_READ_ONLY_VARIABLE_PPI {
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// In Framework Spec, PeiCis0.91, the field is named as GetVariable and GetNextVariableName.
|
||||
/// Keeping this inconsistancy for backward compatibility.
|
||||
///
|
||||
///
|
||||
EFI_PEI_GET_VARIABLE PeiGetVariable; ///< A service to ascertain a given variable name.
|
||||
EFI_PEI_GET_NEXT_VARIABLE_NAME PeiGetNextVariableName; ///< A service to ascertain a variable based upon a given, known variable
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPeiReadOnlyVariablePpiGuid;
|
||||
|
||||
#endif /* __PEI_READ_ONLY_VARIABLE_PPI_H__ */
|
||||
#endif /* __PEI_READ_ONLY_VARIABLE_PPI_H__ */
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This file declares S3 Resume PPI which accomplishes the firmware S3 resume boot path
|
||||
and transfers control to OS.
|
||||
|
||||
|
||||
This PPI is published by the S3 resume PEIM and can be used on the S3 resume boot path to
|
||||
restore the platform to its preboot configuration and transfer control to OS. The information that is
|
||||
required for an S3 resume can be saved during the normal boot path using
|
||||
@ -16,14 +16,14 @@
|
||||
- OS waking vector.
|
||||
- The reserved memory range to be used for the S3 resume.
|
||||
Otherwise, the S3 resume boot path may fail.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -49,7 +49,7 @@ typedef struct _EFI_PEI_S3_RESUME_PPI EFI_PEI_S3_RESUME_PPI;
|
||||
@param PeiServices The pointer to the PEI Services Table
|
||||
|
||||
@retval EFI_ABORTED Execution of the S3 resume boot script table failed.
|
||||
@retval EFI_NOT_FOUND Could not be locate some necessary information that
|
||||
@retval EFI_NOT_FOUND Could not be locate some necessary information that
|
||||
is used for the S3 resume boot path d.
|
||||
|
||||
**/
|
||||
|
@ -4,13 +4,13 @@
|
||||
This PPI is defined in PEI CIS version 0.91. It supports encapsulating sections,
|
||||
such as GUIDed sections used to authenticate the file encapsulation of other domain-specific wrapping.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -40,43 +40,43 @@ typedef struct _EFI_PEI_SECTION_EXTRACTION_PPI EFI_PEI_SECTION_EXTRACTION_PPI;
|
||||
|
||||
@param PeiServices The pointer to the PEI Services Table.
|
||||
@param This Indicates the calling context
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If
|
||||
SectionType == NULL, the contents of the entire
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If
|
||||
SectionType == NULL, the contents of the entire
|
||||
section are returned in Buffer. If SectionType
|
||||
is not NULL, only the requested section is returned.
|
||||
@param SectionDefinitionGuid The pointer to an EFI_GUID.
|
||||
If SectionType == EFI_SECTION_GUID_DEFINED,
|
||||
SectionDefinitionGuid indicates for which section
|
||||
GUID to search. If SectionType != EFI_SECTION_GUID_DEFINED,
|
||||
If SectionType == EFI_SECTION_GUID_DEFINED,
|
||||
SectionDefinitionGuid indicates for which section
|
||||
GUID to search. If SectionType != EFI_SECTION_GUID_DEFINED,
|
||||
SectionDefinitionGuid is unused and is ignored.
|
||||
@param SectionInstance If SectionType is not NULL, indicates which
|
||||
instance of the requested section type to return.
|
||||
@param Buffer The pointer to a pointer to a buffer in which the
|
||||
@param Buffer The pointer to a pointer to a buffer in which the
|
||||
section contents are returned.
|
||||
@param BufferSize A pointer to a caller-allocated UINT32. On input,
|
||||
*BufferSize indicates the size in bytes of the
|
||||
@param BufferSize A pointer to a caller-allocated UINT32. On input,
|
||||
*BufferSize indicates the size in bytes of the
|
||||
memory region pointed to by Buffer. On output,
|
||||
*BufferSize contains the number of bytes required
|
||||
*BufferSize contains the number of bytes required
|
||||
to read the section.
|
||||
@param AuthenticationStatus A pointer to a caller-allocated UINT32 in
|
||||
which any metadata from encapsulating GUID-defined
|
||||
which any metadata from encapsulating GUID-defined
|
||||
sections is returned.
|
||||
|
||||
@retval EFI_SUCCESS The section was successfully processed, and the section
|
||||
contents were returned in Buffer.
|
||||
@retval EFI_PROTOCOL_ERROR A GUID-defined section was encountered in
|
||||
the file with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
Section Extraction Protocol in the handle database.
|
||||
the file with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
Section Extraction Protocol in the handle database.
|
||||
*Buffer is unmodified.
|
||||
@retval EFI_NOT_FOUND The requested section does not exist.*Buffer is
|
||||
@retval EFI_NOT_FOUND The requested section does not exist.*Buffer is
|
||||
unmodified.
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process
|
||||
the request.
|
||||
@retval EFI_INVALID_PARAMETER The SectionStreamHandle does not exist.
|
||||
@retval EFI_WARN_TOO_SMALL The size of the input buffer is insufficient to
|
||||
contain the requested section. The input buffer
|
||||
is filled and contents are section contents are
|
||||
contain the requested section. The input buffer
|
||||
is filled and contents are section contents are
|
||||
truncated.
|
||||
|
||||
**/
|
||||
|
@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
This file declares the Security Architectural PPI.
|
||||
|
||||
|
||||
This PPI is installed by a platform PEIM that abstracts the security policy to the PEI
|
||||
Foundation, namely the case of a PEIM's authentication state being returned during the PEI section
|
||||
extraction process.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -35,12 +35,12 @@ typedef struct _EFI_PEI_SECURITY_PPI EFI_PEI_SECURITY_PPI;
|
||||
to varying file authentication states.
|
||||
|
||||
@param PeiServices The pointer to the PEI Services Table.
|
||||
@param This Interface pointer that implements the particular
|
||||
@param This Interface pointer that implements the particular
|
||||
EFI_PEI_SECURITY_PPI instance.
|
||||
@param AuthenticationStatus Status returned by the verification service as
|
||||
@param AuthenticationStatus Status returned by the verification service as
|
||||
part of section extraction.
|
||||
@param FfsFileHeader The pointer to the file under review.
|
||||
@param DeferExecution The pointer to a variable that alerts the PEI
|
||||
@param DeferExecution The pointer to a variable that alerts the PEI
|
||||
Foundation to defer execution of a PEIM.
|
||||
|
||||
@retval EFI_SUCCESS The service performed its action successfully.
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This file declares the Smbus PPI, which provides the basic I/O interfaces that a PEIM
|
||||
This file declares the Smbus PPI, which provides the basic I/O interfaces that a PEIM
|
||||
uses to access its SMBus controller and the slave devices attached to it.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -37,14 +37,14 @@ typedef struct _EFI_PEI_SMBUS_PPI EFI_PEI_SMBUS_PPI;
|
||||
@param[in] SlaveAddress The SMBUS hardware address to which the SMBUS
|
||||
device is preassigned or allocated.
|
||||
@param[in] Command This command is transmitted by the SMBus host
|
||||
controller to the SMBus slave device, and the
|
||||
controller to the SMBus slave device, and the
|
||||
interpretation is SMBus slave device specific.
|
||||
@param[in] Operation Signifies which particular SMBus hardware protocol
|
||||
instance to use to execute the SMBus transactions.
|
||||
@param[in] PecCheck Defines if Packet Error Code (PEC) checking is
|
||||
@param[in] PecCheck Defines if Packet Error Code (PEC) checking is
|
||||
required for this operation.
|
||||
@param[in, out] Length The number of bytes for this operation.
|
||||
@param[in, out] Buffer Contains the value of data to execute to the SMBus
|
||||
@param[in, out] Buffer Contains the value of data to execute to the SMBus
|
||||
slave device.
|
||||
|
||||
@retval EFI_SUCCESS The last data that was returned from the access
|
||||
@ -57,8 +57,8 @@ typedef struct _EFI_PEI_SMBUS_PPI EFI_PEI_SMBUS_PPI;
|
||||
@retval EFI_DEVICE_ERROR The request was not completed because a failure
|
||||
was recorded in the Host Status Register bit.
|
||||
@retval EFI_INVALID_PARAMETER The operation is not defined in EFI_SMBUS_OPERATION.
|
||||
@retval EFI_INVALID_PARAMETER Length/Buffer is NULL for operations except for
|
||||
EfiSmbusQuickRead and EfiSmbusQuickWrite. Length
|
||||
@retval EFI_INVALID_PARAMETER Length/Buffer is NULL for operations except for
|
||||
EfiSmbusQuickRead and EfiSmbusQuickWrite. Length
|
||||
is outside the range of valid values.
|
||||
@retval EFI_UNSUPPORTED The SMBus operation or PEC is not supported.
|
||||
@retval EFI_BUFFER_TOO_SMALL Buffer is not sufficient for this operation.
|
||||
@ -105,15 +105,15 @@ EFI_STATUS
|
||||
|
||||
@param[in] PeiServices A pointer to the system PEI Services Table.
|
||||
@param[in] This A pointer to the EFI_PEI_SMBUS_PPI instance.
|
||||
@param[in] ArpAll A Boolean expression that indicates if the host
|
||||
drivers need to enumerate all the devices or to
|
||||
@param[in] ArpAll A Boolean expression that indicates if the host
|
||||
drivers need to enumerate all the devices or to
|
||||
enumerate only the device that is identified
|
||||
by SmbusUdid. If ArpAll is TRUE, SmbusUdid and
|
||||
by SmbusUdid. If ArpAll is TRUE, SmbusUdid and
|
||||
SlaveAddress are optional and ignored if entered.
|
||||
If ArpAll is FALSE, ArpDevice will enumerate
|
||||
If ArpAll is FALSE, ArpDevice will enumerate
|
||||
SmbusUdid, and the address will be at SlaveAddress.
|
||||
@param[in] SmbusUdid The targeted SMBus Unique Device Identifier (UDID).
|
||||
The UDID may not exist for SMBus devices with fixed
|
||||
The UDID may not exist for SMBus devices with fixed
|
||||
addresses.
|
||||
@param[in, out] SlaveAddress The new SMBus address for the slave device for
|
||||
which the operation is targeted.
|
||||
@ -125,7 +125,7 @@ EFI_STATUS
|
||||
due to a lack of resources.
|
||||
@retval EFI_TIMEOUT The SMBus slave device did not respond.
|
||||
@retval EFI_DEVICE_ERROR The request was not completed because the transaction failed.
|
||||
@retval EFI_UNSUPPORTED ArpDevice() is not implemented by this PEIM.
|
||||
@retval EFI_UNSUPPORTED ArpDevice() is not implemented by this PEIM.
|
||||
This return value is not defined in the Framework Specification.
|
||||
This return value was introduced in the PI Specification.
|
||||
|
||||
@ -151,7 +151,7 @@ EFI_STATUS
|
||||
by the SMBus controller driver.
|
||||
|
||||
@retval EFI_SUCCESS The device map was returned correctly in the buffer.
|
||||
@retval EFI_UNSUPPORTED GetArpMap() are not implemented by this PEIM.
|
||||
@retval EFI_UNSUPPORTED GetArpMap() are not implemented by this PEIM.
|
||||
This return value was not defined in the Framework Specification.
|
||||
This return value was introduced in the PI Specification.
|
||||
|
||||
@ -166,7 +166,7 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Allows a device driver to register for a callback when the bus driver detects a state that it needs to
|
||||
Allows a device driver to register for a callback when the bus driver detects a state that it needs to
|
||||
propagate to other PEIMs that are registered for a callback.
|
||||
|
||||
The Notify() function registers all the callback functions to allow the
|
||||
@ -184,7 +184,7 @@ EFI_STATUS
|
||||
detects the SlaveAddress and Data pair.
|
||||
|
||||
@retval EFI_SUCCESS NotifyFunction has been registered.
|
||||
@retval EFI_UNSUPPORTED Notify() are not implemented by this PEIM.
|
||||
@retval EFI_UNSUPPORTED Notify() are not implemented by this PEIM.
|
||||
This return value is not defined in the Framework Specification.
|
||||
This return value was introduced in the PI Specification.
|
||||
|
||||
@ -208,21 +208,21 @@ struct _EFI_PEI_SMBUS_PPI {
|
||||
/// Executes the SMBus operation to an SMBus slave device.
|
||||
///
|
||||
EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION Execute;
|
||||
|
||||
|
||||
///
|
||||
/// Allows an SMBus 2.0 device(s) to be Address Resolution Protocol (ARP)
|
||||
///
|
||||
EFI_PEI_SMBUS_PPI_ARP_DEVICE ArpDevice;
|
||||
|
||||
|
||||
///
|
||||
/// Allows a PEIM to retrieve the address that was allocated by the SMBus
|
||||
/// host controller during enumeration/ARP.
|
||||
/// host controller during enumeration/ARP.
|
||||
///
|
||||
EFI_PEI_SMBUS_PPI_GET_ARP_MAP GetArpMap;
|
||||
|
||||
|
||||
///
|
||||
/// Allows a driver to register for a callback to the SMBus host
|
||||
/// controller driver when the bus issues a notification to the bus controller PEIM.
|
||||
/// controller driver when the bus issues a notification to the bus controller PEIM.
|
||||
///
|
||||
EFI_PEI_SMBUS_PPI_NOTIFY Notify;
|
||||
};
|
||||
|
@ -1,20 +1,20 @@
|
||||
/** @file
|
||||
This protocol is used to prepare all information that is needed for the S3 resume boot path. This
|
||||
protocol is not required for all platforms.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in Framework of S3 Resume Boot Path Spec.
|
||||
Version 0.9.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_S3_SAVE_PROTOCOL_H_
|
||||
@ -38,14 +38,14 @@ typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
|
||||
//
|
||||
|
||||
/**
|
||||
This function is used to:
|
||||
|
||||
This function is used to:
|
||||
|
||||
- Prepare all information that is needed in the S3 resume boot path. This information can include
|
||||
the following:
|
||||
-- Framework boot script table
|
||||
-- RSDT pointer
|
||||
-- Reserved memory for the S3 resume
|
||||
|
||||
|
||||
- Get the minimum legacy memory length (meaning below 1 MB) that is required for the S3 resume boot path.
|
||||
If LegacyMemoryAddress is NULL, the firmware will be unable to jump into a real-mode
|
||||
waking vector. However, it might still be able to jump into a flat-mode waking vector as long as the
|
||||
@ -59,7 +59,7 @@ typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
|
||||
@retval EFI_SUCCESS All information was saved successfully.
|
||||
@retval EFI_INVALID_PARAMETER The memory range is not located below 1 MB.
|
||||
@retval EFI_OUT_OF_RESOURCES Resources were insufficient to save all the information.
|
||||
@retval EFI_NOT_FOUND Some necessary information cannot be found.
|
||||
@retval EFI_NOT_FOUND Some necessary information cannot be found.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@ -79,11 +79,11 @@ EFI_STATUS
|
||||
scope of this specification.
|
||||
|
||||
@param This A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL instance.
|
||||
@param Size The returned size of legacy memory below 1MB.
|
||||
@param Size The returned size of legacy memory below 1MB.
|
||||
|
||||
@retval EFI_SUCCESS Size was successfully returned.
|
||||
@retval EFI_INVALID_PARAMETER The pointer Size is NULL.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -100,7 +100,7 @@ EFI_STATUS
|
||||
- ACPI table information, such as RSDT, through which the OS waking vector can be located.
|
||||
- The range of reserved memory that can be used on the S3 resume boot path.
|
||||
This protocol can be used after the Framework makes sure that the boot process is complete and
|
||||
that no hardware has been left unconfigured. Where to call this protocol to save information is implementation-specific.
|
||||
that no hardware has been left unconfigured. Where to call this protocol to save information is implementation-specific.
|
||||
In the case of an EFI-aware OS, ExitBootServices() can be a choice to provide this hook.
|
||||
The currently executing EFI OS loader image calls ExitBootServices()to terminate all boot
|
||||
services. After ExitBootServices() successfully completes, the loader becomes responsible
|
||||
@ -116,7 +116,7 @@ struct _EFI_ACPI_S3_SAVE_PROTOCOL {
|
||||
/// Gets the size of legacy memory below 1 MB that is required for S3 resume.
|
||||
///
|
||||
EFI_ACPI_GET_LEGACY_MEMORY_SIZE GetLegacyMemorySize;
|
||||
|
||||
|
||||
///
|
||||
/// Prepare all information for an S3 resume.
|
||||
///
|
||||
|
@ -3,18 +3,18 @@
|
||||
services handle many of the more mundane tasks that are required to publish a set of tables. The
|
||||
services will:
|
||||
- Generate common tables.
|
||||
- Update the table links.
|
||||
- Ensure that tables are properly aligned and use correct types of memory.
|
||||
- Update checksum values and IDs.
|
||||
- Complete the final installation of the tables.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
- Update the table links.
|
||||
- Ensure that tables are properly aligned and use correct types of memory.
|
||||
- Update checksum values and IDs.
|
||||
- Complete the final installation of the tables.
|
||||
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -95,10 +95,10 @@ EFI_STATUS
|
||||
Causes one or more versions of the ACPI tables to be published in
|
||||
the EFI system configuration tables.
|
||||
|
||||
The PublishTables() function installs the ACPI tables for the versions that are specified in
|
||||
Version. No tables are published for Version equal to EFI_ACPI_VERSION_NONE. Once
|
||||
published, tables will continue to be updated as tables are modified with
|
||||
EFI_ACPI_SUPPORT_PROTOCOL.SetAcpiTable().
|
||||
The PublishTables() function installs the ACPI tables for the versions that are specified in
|
||||
Version. No tables are published for Version equal to EFI_ACPI_VERSION_NONE. Once
|
||||
published, tables will continue to be updated as tables are modified with
|
||||
EFI_ACPI_SUPPORT_PROTOCOL.SetAcpiTable().
|
||||
|
||||
@param This A pointer to the EFI_ACPI_SUPPORT_PROTOCOL instance.
|
||||
@param Version Indicates to which version(s) of ACPI the table should be published.
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This protocol is used to store or record various boot scripts into boot
|
||||
This protocol is used to store or record various boot scripts into boot
|
||||
script tables.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific
|
||||
PEIM that abstracts the processor-visible I/O operations.
|
||||
|
||||
This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific
|
||||
PEIM that abstracts the processor-visible I/O operations.
|
||||
|
||||
Note: This is a runtime protocol and can be used by runtime drivers after ExitBootServices().
|
||||
It is different from the PI 1.2 CPU I/O 2 Protocol, which is a boot services only protocol
|
||||
and may not be used by runtime drivers after ExitBootServices().
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -32,13 +32,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
}
|
||||
|
||||
//
|
||||
// Framework CPU IO protocol structure is the same as CPU IO 2 protocol defined in PI 1.2 spec.
|
||||
// Framework CPU IO protocol structure is the same as CPU IO 2 protocol defined in PI 1.2 spec.
|
||||
// However, there is a significant different between the Framework CPU I/O
|
||||
// Protocol and the PI 1.2 CPU I/O 2 Protocol. The Framework one is a runtime
|
||||
// protocol, which means it can be used by runtime drivers after ExitBootServices().
|
||||
// The PI one is not runtime safe, so it is a boot services only protocol and may
|
||||
// not be used by runtime drivers after ExitBootServices().
|
||||
//
|
||||
//
|
||||
typedef EFI_CPU_IO2_PROTOCOL EFI_CPU_IO_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiCpuIoProtocolGuid;
|
||||
|
@ -3,13 +3,13 @@
|
||||
data and those wishing to be made aware of all information that
|
||||
has been logged. This protocol may only be called <= TPL_NOTIFY.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -33,7 +33,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
// data. The format of the data is defined by the DataRecordGuid.
|
||||
//
|
||||
// If EFI_DATA_RECORD_HEADER is extended in the future, the Version number and HeaderSize must
|
||||
// change.
|
||||
// change.
|
||||
//
|
||||
// The logger is responcible for initializing:
|
||||
// Version, HeaderSize, RecordSize, DataRecordGuid, DataRecordClass
|
||||
@ -99,27 +99,27 @@ EFI_STATUS
|
||||
|
||||
@param This The EFI_DATA_HUB_PROTOCOL instance.
|
||||
@param MonotonicCount On input, it specifies the Record to return.
|
||||
An input of zero means to return the first record,
|
||||
An input of zero means to return the first record,
|
||||
as does an input of one.
|
||||
@param FilterDriver If FilterDriver is not passed in a MonotonicCount
|
||||
of zero, it means to return the first data record.
|
||||
If FilterDriver is passed in, then a MonotonicCount
|
||||
of zero, it means to return the first data record.
|
||||
If FilterDriver is passed in, then a MonotonicCount
|
||||
of zero means to return the first data not yet read
|
||||
by FilterDriver.
|
||||
@param Record Returns a dynamically allocated memory buffer with
|
||||
@param Record Returns a dynamically allocated memory buffer with
|
||||
a data record that matches MonotonicCount.
|
||||
|
||||
@retval EFI_SUCCESS Data was returned in Record.
|
||||
@retval EFI_INVALID_PARAMETER FilterDriver was passed in but does not exist.
|
||||
@retval EFI_NOT_FOUND MonotonicCount does not match any data record
|
||||
in the system. If a MonotonicCount of zero was
|
||||
in the system. If a MonotonicCount of zero was
|
||||
passed in, then no data records exist in the system.
|
||||
@retval EFI_OUT_OF_RESOURCES Record was not returned due to lack
|
||||
of system resources.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is
|
||||
maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is
|
||||
maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -136,28 +136,28 @@ EFI_STATUS
|
||||
@param This The EFI_DATA_HUB_PROTOCOL instance.
|
||||
@param FilterEvent The EFI_EVENT to signal whenever data that matches
|
||||
FilterClass is logged in the system.
|
||||
@param FilterTpl The maximum EFI_TPL at which FilterEvent can be
|
||||
signaled. It is strongly recommended that you use
|
||||
the lowest EFI_TPL possible.
|
||||
@param FilterTpl The maximum EFI_TPL at which FilterEvent can be
|
||||
signaled. It is strongly recommended that you use
|
||||
the lowest EFI_TPL possible.
|
||||
@param FilterClass FilterEvent will be signaled whenever a bit
|
||||
in EFI_DATA_RECORD_HEADER.DataRecordClass is also
|
||||
set in FilterClass. If FilterClass is zero, no
|
||||
in EFI_DATA_RECORD_HEADER.DataRecordClass is also
|
||||
set in FilterClass. If FilterClass is zero, no
|
||||
class-based filtering will be performed.
|
||||
@param FilterDataRecordGuid FilterEvent will be signaled whenever
|
||||
FilterDataRecordGuid matches
|
||||
EFI_DATA_RECORD_HEADER.DataRecordGuid.
|
||||
If FilterDataRecordGuid is NULL, then no GUID-based
|
||||
FilterDataRecordGuid matches
|
||||
EFI_DATA_RECORD_HEADER.DataRecordGuid.
|
||||
If FilterDataRecordGuid is NULL, then no GUID-based
|
||||
filtering will be performed.
|
||||
|
||||
@retval EFI_SUCCESS The filter driver event was registered
|
||||
@retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot
|
||||
@retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot
|
||||
be registered again.
|
||||
@retval EFI_OUT_OF_RESOURCES The filter driver event was not registered
|
||||
due to lack of system resources.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -178,10 +178,10 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The filter driver represented by FilterEvent was shut off.
|
||||
@retval EFI_NOT_FOUND FilterEvent did not exist.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -198,19 +198,19 @@ struct _EFI_DATA_HUB_PROTOCOL {
|
||||
///
|
||||
/// Logs a data record.
|
||||
///
|
||||
EFI_DATA_HUB_LOG_DATA LogData;
|
||||
|
||||
EFI_DATA_HUB_LOG_DATA LogData;
|
||||
|
||||
///
|
||||
/// Gets a data record. Used both to view the memory-based log and to
|
||||
/// get information about which data records have been consumed by a filter driver.
|
||||
///
|
||||
EFI_DATA_HUB_GET_NEXT_RECORD GetNextRecord;
|
||||
|
||||
|
||||
///
|
||||
/// Allows the registration of an EFI event to act as a filter driver for all data records that are logged.
|
||||
///
|
||||
EFI_DATA_HUB_REGISTER_FILTER_DRIVER RegisterFilterDriver;
|
||||
|
||||
|
||||
///
|
||||
/// Used to remove a filter driver that was added with RegisterFilterDriver().
|
||||
///
|
||||
|
@ -1,19 +1,19 @@
|
||||
/** @file
|
||||
This file declares the Firmware Volume Protocol.
|
||||
|
||||
|
||||
The Firmware Volume Protocol provides file-level access to the firmware volume.
|
||||
Each firmware volume driver must produce an instance of the Firmware Volume
|
||||
Protocol if the firmware volume is to be visible to the system. The Firmware
|
||||
Volume Protocol also provides mechanisms for determining and modifying some
|
||||
attributes of the firmware volume.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -102,18 +102,18 @@ EFI_STATUS
|
||||
Sets volume attributes
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param Attributes On input, Attributes is a pointer to an
|
||||
EFI_FV_ATTRIBUTES containing the desired firmware
|
||||
volume settings. On successful return, it contains
|
||||
the new settings of the firmware volume. On
|
||||
unsuccessful return, Attributes is not modified
|
||||
@param Attributes On input, Attributes is a pointer to an
|
||||
EFI_FV_ATTRIBUTES containing the desired firmware
|
||||
volume settings. On successful return, it contains
|
||||
the new settings of the firmware volume. On
|
||||
unsuccessful return, Attributes is not modified
|
||||
and the firmware volume settings are not changed.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER A bit in Attributes was invalid.
|
||||
@retval EFI_SUCCESS The requested firmware volume attributes were set
|
||||
@retval EFI_SUCCESS The requested firmware volume attributes were set
|
||||
and the resulting EFI_FV_ATTRIBUTES is returned in
|
||||
Attributes.
|
||||
@retval EFI_ACCESS_DENIED The Device is locked and does not permit modification.
|
||||
@retval EFI_ACCESS_DENIED The Device is locked and does not permit modification.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@ -124,26 +124,26 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Read the requested file (NameGuid) or file information from the firmware volume
|
||||
Read the requested file (NameGuid) or file information from the firmware volume
|
||||
and returns data in Buffer.
|
||||
|
||||
@param This The EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param NameGuid The pointer to EFI_GUID, which is the filename of
|
||||
@param NameGuid The pointer to EFI_GUID, which is the filename of
|
||||
the file to read.
|
||||
@param Buffer The pointer to pointer to buffer in which contents of file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
are returned as there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
buffer is allocated from BS pool by ReadFile.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
passed in.
|
||||
@param BufferSize On input: The buffer size. On output: The size
|
||||
required to complete the read.
|
||||
@param FoundType The pointer to the type of the file whose data
|
||||
@param FoundType The pointer to the type of the file whose data
|
||||
is returned.
|
||||
@param FileAttributes The pointer to attributes of the file whose data
|
||||
is returned.
|
||||
@ -153,7 +153,7 @@ EFI_STATUS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer filled, and the output is truncated.
|
||||
@retval EFI_NOT_FOUND NameGuid was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
@ -178,28 +178,28 @@ EFI_STATUS
|
||||
@param NameGuid Filename identifying the file from which to read.
|
||||
@param SectionType The section type to retrieve.
|
||||
@param SectionInstance The instance of SectionType to retrieve.
|
||||
@param Buffer Pointer to pointer to buffer in which contents of
|
||||
@param Buffer Pointer to pointer to buffer in which contents of
|
||||
a file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
are returned as there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
buffer is allocated from BS pool by ReadFile.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
passed in.
|
||||
@param BufferSize The pointer to the buffer size passed in, and on
|
||||
@param BufferSize The pointer to the buffer size passed in, and on
|
||||
output the size required to complete the read.
|
||||
@param AuthenticationStatus The pointer to the authentication status of the data.
|
||||
|
||||
@retval EFI_SUCCESS The call completed successfully.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer is filled and the output is truncated.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
@retval EFI_NOT_FOUND The name was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
@ -233,22 +233,22 @@ typedef struct {
|
||||
Write the supplied file (NameGuid) to the FV.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param NumberOfFiles Indicates the number of file records pointed to
|
||||
@param NumberOfFiles Indicates the number of file records pointed to
|
||||
by FileData.
|
||||
@param WritePolicy Indicates the level of reliability of the write
|
||||
@param WritePolicy Indicates the level of reliability of the write
|
||||
with respect to things like power failure events.
|
||||
@param FileData A pointer to an array of EFI_FV_WRITE_FILE_DATA
|
||||
structures. Each element in the array indicates
|
||||
@param FileData A pointer to an array of EFI_FV_WRITE_FILE_DATA
|
||||
structures. Each element in the array indicates
|
||||
a file to write, and there are NumberOfFiles
|
||||
elements in the input array.
|
||||
|
||||
@retval EFI_SUCCESS The write completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The firmware volume does not have enough free
|
||||
@retval EFI_OUT_OF_RESOURCES The firmware volume does not have enough free
|
||||
space to store file(s).
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_WRITE_PROTECTED The firmware volume is configured to disallow writes.
|
||||
@retval EFI_NOT_FOUND A delete was requested, but the requested file was
|
||||
@retval EFI_NOT_FOUND A delete was requested, but the requested file was
|
||||
not found in the firmware volume.
|
||||
@retval EFI_INVALID_PARAMETER A delete was requested with a multiple file write.
|
||||
An unsupported WritePolicy was requested.
|
||||
@ -268,18 +268,18 @@ EFI_STATUS
|
||||
Given the input key, search for the next matching file in the volume.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param Key Pointer to a caller allocated buffer that contains
|
||||
an implementation-specific key that is used to track
|
||||
@param Key Pointer to a caller allocated buffer that contains
|
||||
an implementation-specific key that is used to track
|
||||
where to begin searching on successive calls.
|
||||
@param FileType The pointer to the file type to filter for.
|
||||
@param NameGuid The pointer to Guid filename of the file found.
|
||||
@param Attributes The pointer to Attributes of the file found.
|
||||
@param Size The pointer to Size in bytes of the file found.
|
||||
|
||||
@retval EFI_SUCCESS The output parameters are filled with data obtained from
|
||||
@retval EFI_SUCCESS The output parameters are filled with data obtained from
|
||||
the first matching file that was found.
|
||||
@retval EFI_NOT_FOUND No files of type FileType were found.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access
|
||||
the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
This file provides control over block-oriented firmware devices.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
@par Revision Reference:
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This protocol is defined in framework spec: Firmware Volume Block Specification.
|
||||
|
||||
**/
|
||||
@ -24,18 +24,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
|
||||
///
|
||||
/// The type of EFI FVB attribute per the Framework specification.
|
||||
///
|
||||
///
|
||||
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
||||
|
||||
/**
|
||||
The GetAttributes() function retrieves the attributes and
|
||||
current settings of the block.
|
||||
current settings of the block.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
@param Attributes Pointer to EFI_FVB_ATTRIBUTES in which the
|
||||
attributes and current settings are
|
||||
returned.
|
||||
returned.
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume attributes were
|
||||
returned.
|
||||
@ -59,8 +59,8 @@ EFI_STATUS
|
||||
EFI_FVB_ATTRIBUTES that contains the
|
||||
desired firmware volume settings. On
|
||||
successful return, it contains the new
|
||||
settings of the firmware volume.
|
||||
|
||||
settings of the firmware volume.
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume attributes were returned.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The attributes requested are in
|
||||
@ -83,14 +83,14 @@ EFI_STATUS
|
||||
only for memory-mapped firmware volumes.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Address Pointer to a caller-allocated
|
||||
EFI_PHYSICAL_ADDRESS that, on successful
|
||||
return from GetPhysicalAddress(), contains the
|
||||
base address of the firmware volume.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address is returned.
|
||||
|
||||
|
||||
@retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.
|
||||
|
||||
**/
|
||||
@ -121,9 +121,9 @@ EFI_STATUS
|
||||
blocks in this range have a size of
|
||||
BlockSize.
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address was returned.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.
|
||||
|
||||
**/
|
||||
@ -154,7 +154,7 @@ EFI_STATUS
|
||||
aware that a read may be partially completed.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index
|
||||
from which to read.
|
||||
|
||||
@ -170,15 +170,15 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume was read successfully
|
||||
and contents are in Buffer.
|
||||
|
||||
|
||||
@retval EFI_BAD_BUFFER_SIZE A read was attempted across an LBA
|
||||
boundary. On output, NumBytes
|
||||
contains the total number of bytes
|
||||
returned in Buffer.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
ReadDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is not
|
||||
functioning correctly and could
|
||||
not be read.
|
||||
@ -210,7 +210,7 @@ EFI_STATUS
|
||||
EraseBlocks() function first to erase the specified block to
|
||||
write. A block erase cycle will transition bits from the
|
||||
(NOT)EFI_FVB_ERASE_POLARITY state back to the
|
||||
EFI_FVB_ERASE_POLARITY state. Implementors should note
|
||||
EFI_FVB_ERASE_POLARITY state. Implementors should note
|
||||
that the firmware volume might be in the WriteDisabled
|
||||
state. If it is in this state, the Write() function must
|
||||
return the status code EFI_ACCESS_DENIED without modifying the
|
||||
@ -225,27 +225,27 @@ EFI_STATUS
|
||||
returns.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index to write to.
|
||||
|
||||
|
||||
@param Offset Offset into the block at which to begin writing.
|
||||
|
||||
|
||||
@param NumBytes The pointer to a UINTN. Input: the total size of the buffer.
|
||||
Output: the total number of bytes actually written.
|
||||
|
||||
|
||||
@param Buffer The pointer to a caller-allocated buffer that
|
||||
contains the source for the write.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume was written successfully.
|
||||
|
||||
|
||||
@retval EFI_BAD_BUFFER_SIZE The write was attempted across an
|
||||
LBA boundary. On output, NumBytes
|
||||
contains the total number of bytes
|
||||
actually written.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is malfunctioning
|
||||
and could not be written.
|
||||
|
||||
@ -306,7 +306,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The erase request successfully
|
||||
completed.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
@retval EFI_DEVICE_ERROR The block device is not functioning
|
||||
@ -315,7 +315,7 @@ EFI_STATUS
|
||||
partially erased.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the LBAs listed
|
||||
in the variable argument list do
|
||||
not exist in the firmware volume.
|
||||
not exist in the firmware volume.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@ -344,7 +344,7 @@ struct _FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
|
||||
FRAMEWORK_EFI_FVB_ERASE_BLOCKS EraseBlocks;
|
||||
///
|
||||
/// The handle of the parent firmware volume.
|
||||
///
|
||||
///
|
||||
EFI_HANDLE ParentHandle;
|
||||
};
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
packet of data. This will also allow the caller to post messages
|
||||
into the configuration drivers internal mailbox.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name: FrameworkFormBrowser.h
|
||||
@ -64,36 +64,36 @@ typedef struct {
|
||||
|
||||
@param This A pointer to the EFI_FORM_BROWSER_PROTOCOL instance.
|
||||
@param UseDatabase Determines whether the HII database is to be
|
||||
used to gather information. If the value is FALSE,
|
||||
the configuration driver will get the information
|
||||
used to gather information. If the value is FALSE,
|
||||
the configuration driver will get the information
|
||||
provided in the passed-in Packet parameters.
|
||||
@param Handle A pointer to an array of HII handles to display.
|
||||
This value should correspond to the value of the
|
||||
@param Handle A pointer to an array of HII handles to display.
|
||||
This value should correspond to the value of the
|
||||
HII form package that is required to be displayed.
|
||||
@param HandleCount The number of handles in the array specified by Handle.
|
||||
@param Packet A pointer to a set of data containing pointers to IFR
|
||||
and/or string data.
|
||||
@param CallbackHandle The handle to the driver's callback interface.
|
||||
This parameter is used only when the UseDatabase
|
||||
parameter is FALSE and an application wants to
|
||||
This parameter is used only when the UseDatabase
|
||||
parameter is FALSE and an application wants to
|
||||
register a callback with the browser.
|
||||
@param NvMapOverride This buffer is used only when there is no NV variable
|
||||
to define the current settings and the caller needs
|
||||
to provide to the browser the current settings for
|
||||
to define the current settings and the caller needs
|
||||
to provide to the browser the current settings for
|
||||
the "fake" NV variable.
|
||||
@param ScreenDimensions Allows the browser to be called so that it occupies
|
||||
a portion of the physical screen instead of dynamically
|
||||
a portion of the physical screen instead of dynamically
|
||||
determining the screen dimensions.
|
||||
@param ResetRequired This BOOLEAN value denotes whether a reset is required
|
||||
based on the data that might have been changed.
|
||||
The ResetRequired parameter is primarily applicable
|
||||
based on the data that might have been changed.
|
||||
The ResetRequired parameter is primarily applicable
|
||||
for configuration applications, and is an
|
||||
optional parameter.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
|
||||
DataSize has been updated with the size needed to
|
||||
DataSize has been updated with the size needed to
|
||||
complete the request.
|
||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure.
|
||||
@ -119,10 +119,10 @@ EFI_STATUS
|
||||
|
||||
@param NumberOfLines The number of lines for the dialog box.
|
||||
@param HotKey Defines whether a single character is parsed (TRUE)
|
||||
and returned in KeyValue, or if a string is returned
|
||||
and returned in KeyValue, or if a string is returned
|
||||
in StringBuffer.
|
||||
@param MaximumStringSize The maximum size in bytes of a typed-in string.
|
||||
Because each character is a CHAR16, the minimum
|
||||
Because each character is a CHAR16, the minimum
|
||||
string returned is two bytes.
|
||||
@param StringBuffer The passed-in pointer to the buffer that will hold
|
||||
the typed in string if HotKey is FALSE.
|
||||
@ -160,10 +160,10 @@ struct _EFI_FORM_BROWSER_PROTOCOL {
|
||||
/// a pointer to the calling driver's callback interface.
|
||||
///
|
||||
EFI_SEND_FORM SendForm;
|
||||
|
||||
|
||||
///
|
||||
/// Routine used to abstract a generic dialog interface and return the
|
||||
/// selected key or string.
|
||||
/// selected key or string.
|
||||
///
|
||||
EFI_CREATE_POP_UP CreatePopUp;
|
||||
};
|
||||
|
@ -5,13 +5,13 @@
|
||||
specific drivers that want to export access to custom hardware storage or
|
||||
publish IFR that need to call back the original driver.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -36,14 +36,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _EFI_FORM_CALLBACK_PROTOCOL EFI_FORM_CALLBACK_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED and NV_NOT_CHANGED are not
|
||||
/// Inconsistent with specification here:
|
||||
/// RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED and NV_NOT_CHANGED are not
|
||||
/// defined in HII specification. These Flags of EFI_IFR_DATA_ENTRY should be defined
|
||||
/// to describe the standard behavior of the browser after the callback.
|
||||
///
|
||||
/// If this flag is set, the browser will exit and reset after processing callback results.
|
||||
///
|
||||
#define RESET_REQUIRED 1
|
||||
#define RESET_REQUIRED 1
|
||||
///
|
||||
/// If this flag is set, the browser will exit after processing callback results.
|
||||
///
|
||||
@ -143,12 +143,12 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.
|
||||
@param VariableName A NULL-terminated Unicode string that is the
|
||||
name of the vendor's variable. Each VariableName
|
||||
is unique for each VendorGuid.
|
||||
name of the vendor's variable. Each VariableName
|
||||
is unique for each VendorGuid.
|
||||
@param VendorGuid A unique identifier for the vendor.
|
||||
@param Attributes Attributes bit-mask to set for the variable.
|
||||
Inconsistent with specification here:
|
||||
Attributes data type has been changed from
|
||||
Inconsistent with specification here:
|
||||
Attributes data type has been changed from
|
||||
UINT32 * to UINT32, because the input parameter is
|
||||
not necessary to use a pointer date type.
|
||||
@param DataSize The size in bytes of the Buffer. A size of zero causes
|
||||
@ -185,8 +185,8 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.
|
||||
@param KeyValue A unique value which is sent to the original exporting
|
||||
driver so that it can identify the type of data
|
||||
to expect. The format of the data tends to vary based
|
||||
driver so that it can identify the type of data
|
||||
to expect. The format of the data tends to vary based
|
||||
on the opcode that generated the callback.
|
||||
@param Data A pointer to the data being sent to the original exporting driver.
|
||||
@param Packet A pointer to a packet of information that a driver passes
|
||||
|
@ -3,13 +3,13 @@
|
||||
used by resources that want to publish IFR/Font/String data and have it
|
||||
collected by the Configuration engine.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -473,7 +473,7 @@ EFI_STATUS
|
||||
Removes a package from the HII database.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle that was registered to the data that
|
||||
@param Handle The handle that was registered to the data that
|
||||
is requested for removal.
|
||||
|
||||
@retval EFI_SUCCESS The data associated with the Handle was removed
|
||||
@ -560,14 +560,14 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param StringToTest A pointer to a Unicode string.
|
||||
@param FirstMissing A pointer to an index into the string. On input,
|
||||
the index of the first character in the StringToTest
|
||||
to examine. On exit, the index of the first character
|
||||
the index of the first character in the StringToTest
|
||||
to examine. On exit, the index of the first character
|
||||
encountered for which a glyph is unavailable.
|
||||
If all glyphs in the string are available, the
|
||||
If all glyphs in the string are available, the
|
||||
index is the index of the terminator of the string.
|
||||
@param GlyphBufferSize A pointer to a value. On output, if the function
|
||||
returns EFI_SUCCESS, it contains the amount of
|
||||
memory that is required to store the string's
|
||||
returns EFI_SUCCESS, it contains the amount of
|
||||
memory that is required to store the string's
|
||||
glyph equivalent.
|
||||
|
||||
@retval EFI_SUCCESS All glyphs are available. Note that an empty string
|
||||
@ -592,23 +592,23 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Source A pointer to a Unicode string.
|
||||
@param Index On input, the offset into the string from which to
|
||||
fetch the character. On successful completion, the
|
||||
index is updated to the first character past the
|
||||
@param Index On input, the offset into the string from which to
|
||||
fetch the character. On successful completion, the
|
||||
index is updated to the first character past the
|
||||
character(s) making up the just extracted glyph.
|
||||
@param GlyphBuffer Pointer to an array where the glyphs corresponding
|
||||
to the characters in the source may be stored.
|
||||
GlyphBuffer is assumed to be wide enough to accept
|
||||
to the characters in the source may be stored.
|
||||
GlyphBuffer is assumed to be wide enough to accept
|
||||
a wide glyph character.
|
||||
@param BitWidth If EFI_SUCCESS was returned, the UINT16 pointed to by
|
||||
this value is filled with the length of the glyph in
|
||||
pixels. It is unchanged if the call was unsuccessful.
|
||||
@param InternalStatus The cell pointed to by this parameter must be
|
||||
initialized to zero prior to invoking the call the
|
||||
initialized to zero prior to invoking the call the
|
||||
first time for any string.
|
||||
|
||||
@retval EFI_SUCCESS Found the corresponding font glyph for a Unicode
|
||||
character.
|
||||
@retval EFI_SUCCESS Found the corresponding font glyph for a Unicode
|
||||
character.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
|
||||
**/
|
||||
@ -639,7 +639,7 @@ EFI_STATUS
|
||||
@param BltBuffer A pointer to the buffer that contains the data that is
|
||||
ready to be used by the UGA BLT routines.
|
||||
|
||||
@retval EFI_SUCCESS Successfully translated a glyph into the required
|
||||
@retval EFI_SUCCESS Successfully translated a glyph into the required
|
||||
format for input to UGA BLT routines.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
@note Inconsistent with specification here:
|
||||
@ -666,15 +666,15 @@ EFI_STATUS
|
||||
to avoid name confict with EFI_HII_NEW_STRING defined in the UEFI 2.1d specification.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Pointer to a NULL-terminated string containing a single
|
||||
ISO 639-2 language identifier, indicating the language
|
||||
in which the string is translated.
|
||||
@param Handle The handle of the language pack to which the string
|
||||
@param Pointer to a NULL-terminated string containing a single
|
||||
ISO 639-2 language identifier, indicating the language
|
||||
in which the string is translated.
|
||||
@param Handle The handle of the language pack to which the string
|
||||
is to be added.
|
||||
@param Reference The identifier of the string to be added. If the
|
||||
reference value is zero, then the string will be
|
||||
@param Reference The identifier of the string to be added. If the
|
||||
reference value is zero, then the string will be
|
||||
assigned a new identifier on that handle for
|
||||
the language specified. Otherwise, the string will
|
||||
the language specified. Otherwise, the string will
|
||||
be updated with the NewString Value.
|
||||
@param NewString The string to be added.
|
||||
|
||||
@ -699,7 +699,7 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside.
|
||||
@param LanguageString A string allocated by GetPrimaryLanguages() that
|
||||
contains a list of all primary languages registered
|
||||
contains a list of all primary languages registered
|
||||
on the handle.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@ -720,11 +720,11 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside.
|
||||
@param PrimaryLanguage Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
@param PrimaryLanguage Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the primary language.
|
||||
@param LanguageString A string allocated by GetSecondaryLanguages()
|
||||
containing a list of all secondary languages
|
||||
containing a list of all secondary languages
|
||||
registered on the handle.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@ -749,14 +749,14 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Raw If TRUE, the string is returned unedited in the
|
||||
internal storage format. If false, the string
|
||||
returned is edited by replacing <cr> with <space>
|
||||
@param Raw If TRUE, the string is returned unedited in the
|
||||
internal storage format. If false, the string
|
||||
returned is edited by replacing <cr> with <space>
|
||||
and by removing special characters such as the
|
||||
<wide> prefix.
|
||||
@param LanguageString Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print. If the LanguageString is
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print. If the LanguageString is
|
||||
empty (starts with a NULL), the default system
|
||||
language will be used to determine the language.
|
||||
@param BufferLength Length of the StringBuffer.
|
||||
@ -786,19 +786,19 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Index On input, the offset into the string where the
|
||||
line is to start. On output, the index is updated
|
||||
to point beyond the last character returned in
|
||||
@param Index On input, the offset into the string where the
|
||||
line is to start. On output, the index is updated
|
||||
to point beyond the last character returned in
|
||||
the call.
|
||||
@param LineWidth The maximum width of the line in units of narrow glyphs.
|
||||
@param LanguageString The pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print.
|
||||
@param BufferLength The pointer to the length of the StringBuffer.
|
||||
@param StringBuffer The buffer designed to receive the characters in
|
||||
@param StringBuffer The buffer designed to receive the characters in
|
||||
the string.
|
||||
|
||||
@retval EFI_SUCCESS StringBuffer filled with characters that will fit
|
||||
@retval EFI_SUCCESS StringBuffer filled with characters that will fit
|
||||
on the line.
|
||||
@retval EFI_NOT_FOUND The font glyph for at least one of the characters in
|
||||
the string is not in the font database.
|
||||
@ -855,9 +855,9 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle from which will have default data retrieved.
|
||||
@param DefaultMask The mask used to specify some type of default
|
||||
@param DefaultMask The mask used to specify some type of default
|
||||
override when extracting the default image data.
|
||||
@param VariablePackList An indirect pointer to the first entry of a link
|
||||
@param VariablePackList An indirect pointer to the first entry of a link
|
||||
list with type EFI_HII_VARIABLE_PACK_LIST.
|
||||
|
||||
@retval EFI_SUCCESS The VariablePackList was populated with the appropriate
|
||||
@ -912,8 +912,8 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param DescriptorCount A pointer to the number of Descriptor entries being
|
||||
described in the keyboard layout being retrieved.
|
||||
@param Descriptor A pointer to a buffer containing an array of
|
||||
FRAMEWORK_EFI_KEY_DESCRIPTOR entries. Each entry
|
||||
@param Descriptor A pointer to a buffer containing an array of
|
||||
FRAMEWORK_EFI_KEY_DESCRIPTOR entries. Each entry
|
||||
will reflect the definition of a specific physical key.
|
||||
|
||||
@retval EFI_SUCCESS The keyboard layout was retrieved successfully.
|
||||
|
@ -1,10 +1,10 @@
|
||||
/** @file
|
||||
When installed, the Framework MP Services Protocol produces a collection of
|
||||
services that are needed for MP management, such as initialization and management
|
||||
of application processors.
|
||||
|
||||
@par Note:
|
||||
This protocol has been deprecated and has been replaced by the MP Services
|
||||
When installed, the Framework MP Services Protocol produces a collection of
|
||||
services that are needed for MP management, such as initialization and management
|
||||
of application processors.
|
||||
|
||||
@par Note:
|
||||
This protocol has been deprecated and has been replaced by the MP Services
|
||||
Protocol from the UEFI Platform Initialization Specification 1.2, Volume 2:
|
||||
Driver Execution Environment Core Interface.
|
||||
|
||||
@ -20,26 +20,26 @@
|
||||
The Protocol is available only during boot time.
|
||||
|
||||
MP Services Protocol is hardware-independent. Most of the logic of this protocol
|
||||
is architecturally neutral. It abstracts the multi-processor environment and
|
||||
status of processors, and provides interfaces to retrieve information, maintain,
|
||||
is architecturally neutral. It abstracts the multi-processor environment and
|
||||
status of processors, and provides interfaces to retrieve information, maintain,
|
||||
and dispatch.
|
||||
|
||||
MP Services Protocol may be consumed by ACPI module. The ACPI module may use this
|
||||
MP Services Protocol may be consumed by ACPI module. The ACPI module may use this
|
||||
protocol to retrieve data that are needed for an MP platform and report them to OS.
|
||||
MP Services Protocol may also be used to program and configure processors, such
|
||||
MP Services Protocol may also be used to program and configure processors, such
|
||||
as MTRR synchronization for memory space attributes setting in DXE Services.
|
||||
MP Services Protocol may be used by non-CPU DXE drivers to speed up platform boot
|
||||
by taking advantage of the processing capabilities of the APs, for example, using
|
||||
MP Services Protocol may be used by non-CPU DXE drivers to speed up platform boot
|
||||
by taking advantage of the processing capabilities of the APs, for example, using
|
||||
APs to help test system memory in parallel with other device initialization.
|
||||
Diagnostics applications may also use this protocol for multi-processor.
|
||||
|
||||
Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -68,27 +68,27 @@ typedef struct _FRAMEWORK_EFI_MP_SERVICES_PROTOCOL FRAMEWORK_EFI_MP_SERVICES_PRO
|
||||
#define DELIVERY_MODE_FIXED 0x0
|
||||
|
||||
///
|
||||
/// Lowest priority delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// Lowest priority delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_LOWEST_PRIORITY 0x1
|
||||
|
||||
///
|
||||
/// SMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// SMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_SMI 0x2
|
||||
|
||||
///
|
||||
/// Remote read delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// Remote read delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_REMOTE_READ 0x3
|
||||
|
||||
///
|
||||
/// NMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// NMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_NMI 0x4
|
||||
|
||||
///
|
||||
/// INIT delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// INIT delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_INIT 0x5
|
||||
|
||||
@ -119,7 +119,7 @@ typedef struct _FRAMEWORK_EFI_MP_SERVICES_PROTOCOL FRAMEWORK_EFI_MP_SERVICES_PRO
|
||||
|
||||
typedef union {
|
||||
///
|
||||
/// Bitfield structure for the IPF Self Test State Parameter.
|
||||
/// Bitfield structure for the IPF Self Test State Parameter.
|
||||
///
|
||||
struct {
|
||||
UINT32 Status:2;
|
||||
@ -143,8 +143,8 @@ typedef struct {
|
||||
/// BIST (built-in self-test) data of the processor.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// Lower 32 bits of the self-test state parameter. For definition of self-test
|
||||
/// state parameter, please refer to Intel(R) Itanium(R) Architecture Software
|
||||
/// Lower 32 bits of the self-test state parameter. For definition of self-test
|
||||
/// state parameter, please refer to Intel(R) Itanium(R) Architecture Software
|
||||
/// Developer's Manual, Volume 2: System Architecture.
|
||||
///
|
||||
EFI_MP_HEALTH_FLAGS Flags;
|
||||
@ -170,35 +170,35 @@ typedef struct {
|
||||
/// The lower 8 bits contains local APIC ID, and higher bits are reserved.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// The lower 16 bits contains id/eid as physical address of local SAPIC
|
||||
/// The lower 16 bits contains id/eid as physical address of local SAPIC
|
||||
/// unit, and higher bits are reserved.
|
||||
///
|
||||
UINT32 ApicID;
|
||||
///
|
||||
/// This field indicates whether the processor is enabled. If the value is
|
||||
/// This field indicates whether the processor is enabled. If the value is
|
||||
/// TRUE, then the processor is enabled. Otherwise, it is disabled.
|
||||
///
|
||||
BOOLEAN Enabled;
|
||||
///
|
||||
/// This field indicates whether the processor is playing the role of BSP.
|
||||
/// If the value is EfiCpuAP, then the processor is AP. If the value is
|
||||
/// If the value is EfiCpuAP, then the processor is AP. If the value is
|
||||
/// EfiCpuBSP, then the processor is BSP.
|
||||
///
|
||||
EFI_CPU_DESIGNATION Designation;
|
||||
///
|
||||
/// @par IA32, X64:
|
||||
/// The Flags field of this EFI_MP_HEALTH data structure holds BIST (built-in
|
||||
/// self test) data of the processor. The TestStatus field is not used, and
|
||||
/// The Flags field of this EFI_MP_HEALTH data structure holds BIST (built-in
|
||||
/// self test) data of the processor. The TestStatus field is not used, and
|
||||
/// the value is always zero.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// Bit format of this field is the same as the definition of self-test state
|
||||
/// parameter, in Intel(R) Itanium(R) Architecture Software Developer's Manual,
|
||||
/// Bit format of this field is the same as the definition of self-test state
|
||||
/// parameter, in Intel(R) Itanium(R) Architecture Software Developer's Manual,
|
||||
/// Volume 2: System Architecture.
|
||||
///
|
||||
EFI_MP_HEALTH Health;
|
||||
///
|
||||
/// Zero-based physical package number that identifies the cartridge of the
|
||||
/// Zero-based physical package number that identifies the cartridge of the
|
||||
/// processor.
|
||||
///
|
||||
UINTN PackageNumber;
|
||||
@ -219,7 +219,7 @@ typedef struct {
|
||||
/// This field is not used, and the value is always zero.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// This field is a mask number that is handed off by the PAL about which
|
||||
/// This field is a mask number that is handed off by the PAL about which
|
||||
/// processor tests are performed and which are masked.
|
||||
///
|
||||
UINT64 ProcessorTestMask;
|
||||
@ -237,22 +237,22 @@ typedef struct {
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[out] NumberOfCPUs The pointer to the total number of logical processors
|
||||
in the system, including the BSP and disabled
|
||||
@param[out] NumberOfCPUs The pointer to the total number of logical processors
|
||||
in the system, including the BSP and disabled
|
||||
APs. If NULL, this parameter is ignored.
|
||||
@param[out] MaximumNumberOfCPUs Pointer to the maximum number of processors
|
||||
supported by the system. If NULL, this
|
||||
@param[out] MaximumNumberOfCPUs Pointer to the maximum number of processors
|
||||
supported by the system. If NULL, this
|
||||
parameter is ignored.
|
||||
@param[out] NumberOfEnabledCPUs The pointer to the number of enabled logical
|
||||
processors that exist in system, including
|
||||
@param[out] NumberOfEnabledCPUs The pointer to the number of enabled logical
|
||||
processors that exist in system, including
|
||||
the BSP. If NULL, this parameter is ignored.
|
||||
@param[out] RendezvousIntNumber This parameter is only meaningful for IPF.
|
||||
- IA32, X64: The returned value is zero.
|
||||
- IA32, X64: The returned value is zero.
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF: Pointer to the rendezvous interrupt
|
||||
- IPF: Pointer to the rendezvous interrupt
|
||||
number that is used for AP wake-up.
|
||||
@param[out] RendezvousProcLength The pointer to the length of rendezvous procedure.
|
||||
- IA32, X64: The returned value is 0x1000.
|
||||
@param[out] RendezvousProcLength The pointer to the length of rendezvous procedure.
|
||||
- IA32, X64: The returned value is 0x1000.
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF: The returned value is zero.
|
||||
|
||||
@ -273,42 +273,42 @@ EFI_STATUS
|
||||
/**
|
||||
This service gets detailed MP-related information of the requested processor.
|
||||
|
||||
This service gets detailed MP-related information of the requested processor
|
||||
This service gets detailed MP-related information of the requested processor
|
||||
at the instant this call is made. Note the following:
|
||||
- The processor information may change during the course of a boot session.
|
||||
- The data of information presented here is entirely MP related.
|
||||
- The processor information may change during the course of a boot session.
|
||||
- The data of information presented here is entirely MP related.
|
||||
Information regarding the number of caches and their sizes, frequency of operation,
|
||||
slot numbers is all considered platform-related information and will not be
|
||||
presented here.
|
||||
slot numbers is all considered platform-related information and will not be
|
||||
presented here.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of the processor. The range
|
||||
is from 0 to the total number of logical
|
||||
processors minus 1. The total number of
|
||||
logical processors can be retrieved by
|
||||
is from 0 to the total number of logical
|
||||
processors minus 1. The total number of
|
||||
logical processors can be retrieved by
|
||||
GetGeneralMPInfo().
|
||||
@param[in,out] BufferLength On input, pointer to the size in bytes of
|
||||
ProcessorContextBuffer. On output, if the
|
||||
size of ProcessorContextBuffer is not large
|
||||
enough, the value pointed by this parameter
|
||||
is updated to size in bytes that is needed.
|
||||
If the size of ProcessorContextBuffer is
|
||||
sufficient, the value is not changed from
|
||||
@param[in,out] BufferLength On input, pointer to the size in bytes of
|
||||
ProcessorContextBuffer. On output, if the
|
||||
size of ProcessorContextBuffer is not large
|
||||
enough, the value pointed by this parameter
|
||||
is updated to size in bytes that is needed.
|
||||
If the size of ProcessorContextBuffer is
|
||||
sufficient, the value is not changed from
|
||||
input.
|
||||
@param[out] ProcessorContextBuffer The pointer to the buffer where the data of
|
||||
requested processor will be deposited.
|
||||
The buffer is allocated by caller.
|
||||
@param[out] ProcessorContextBuffer The pointer to the buffer where the data of
|
||||
requested processor will be deposited.
|
||||
The buffer is allocated by caller.
|
||||
|
||||
@retval EFI_SUCCESS Processor information was successfully returned.
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of ProcessorContextBuffer is too small.
|
||||
The value pointed by BufferLength has been updated
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of ProcessorContextBuffer is too small.
|
||||
The value pointed by BufferLength has been updated
|
||||
to size in bytes that is needed.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:BufferLength is NULL.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:ProcessorContextBuffer is NULL.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:Processor with the handle specified by
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:Processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
@retval EFI_NOT_FOUND IPF: Processor with the handle specified by
|
||||
@retval EFI_NOT_FOUND IPF: Processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
|
||||
**/
|
||||
@ -322,112 +322,112 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This function is used to dispatch all enabled APs to the function specified
|
||||
by Procedure. APs can run either simultaneously or one by one. The caller can
|
||||
also configure the BSP to either wait for APs or just proceed with the next
|
||||
task. It is the responsibility of the caller of the StartupAllAPs() to make
|
||||
sure that the nature of the code that will be run on the BSP and the dispatched
|
||||
APs is well controlled. The MP Services Protocol does not guarantee that the
|
||||
function that either processor is executing is MP-safe. Hence, the tasks that
|
||||
This function is used to dispatch all enabled APs to the function specified
|
||||
by Procedure. APs can run either simultaneously or one by one. The caller can
|
||||
also configure the BSP to either wait for APs or just proceed with the next
|
||||
task. It is the responsibility of the caller of the StartupAllAPs() to make
|
||||
sure that the nature of the code that will be run on the BSP and the dispatched
|
||||
APs is well controlled. The MP Services Protocol does not guarantee that the
|
||||
function that either processor is executing is MP-safe. Hence, the tasks that
|
||||
can be run in parallel are limited to certain independent tasks and well-
|
||||
controlled exclusive code. EFI services and protocols may not be called by APs
|
||||
controlled exclusive code. EFI services and protocols may not be called by APs
|
||||
unless otherwise specified.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] Procedure A pointer to the function to be run on enabled
|
||||
APs of the system.
|
||||
@param[in] SingleThread Flag that requests APs to execute one at a
|
||||
@param[in] Procedure A pointer to the function to be run on enabled
|
||||
APs of the system.
|
||||
@param[in] SingleThread Flag that requests APs to execute one at a
|
||||
time or simultaneously.
|
||||
- IA32, X64:
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure one by
|
||||
one, in ascending order of processor handle
|
||||
number. If FALSE, then all the enabled APs
|
||||
execute the function specified by Procedure
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure one by
|
||||
one, in ascending order of processor handle
|
||||
number. If FALSE, then all the enabled APs
|
||||
execute the function specified by Procedure
|
||||
simultaneously.
|
||||
- IPF:
|
||||
If TRUE, then all the enabled APs execute
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure simultaneously.
|
||||
If FALSE, then all the enabled APs execute the
|
||||
function specified by Procedure one by one, in
|
||||
ascending order of processor handle number. The
|
||||
time interval of AP dispatching is determined
|
||||
If FALSE, then all the enabled APs execute the
|
||||
function specified by Procedure one by one, in
|
||||
ascending order of processor handle number. The
|
||||
time interval of AP dispatching is determined
|
||||
by WaitEvent and TimeoutInMicrosecs.
|
||||
@param[in] WaitEvent Event to signal when APs have finished.
|
||||
- IA32, X64:
|
||||
If not NULL, when all APs finish after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
If not NULL, when all APs finish after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
the parameter is ignored.
|
||||
- IPF:
|
||||
If SingleThread is TRUE, this parameter
|
||||
is ignored. If SingleThread is FALSE (i.e.
|
||||
dispatch APs one by one), this parameter
|
||||
determines whether the BSP waits after each
|
||||
AP is dispatched. If it is NULL, the BSP
|
||||
does not wait after each AP is dispatched.
|
||||
If it is not NULL, the BSP waits after each
|
||||
AP is dispatched, and the time interval is
|
||||
determined by TimeoutInMicrosecs. Type
|
||||
EFI_EVENT is defined in CreateEvent() in
|
||||
the Unified Extensible Firmware Interface
|
||||
If SingleThread is TRUE, this parameter
|
||||
is ignored. If SingleThread is FALSE (i.e.
|
||||
dispatch APs one by one), this parameter
|
||||
determines whether the BSP waits after each
|
||||
AP is dispatched. If it is NULL, the BSP
|
||||
does not wait after each AP is dispatched.
|
||||
If it is not NULL, the BSP waits after each
|
||||
AP is dispatched, and the time interval is
|
||||
determined by TimeoutInMicrosecs. Type
|
||||
EFI_EVENT is defined in CreateEvent() in
|
||||
the Unified Extensible Firmware Interface
|
||||
Specification.
|
||||
@param[in] TimeoutInMicrosecsond Time to wait for APs to finish.
|
||||
- IA32, X64:
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until all APs finish.
|
||||
If the value is not zero, the BSP waits
|
||||
until all APs finish or timeout expires.
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until all APs finish.
|
||||
If the value is not zero, the BSP waits
|
||||
until all APs finish or timeout expires.
|
||||
If timeout expires, EFI_TIMEOUT is returned,
|
||||
and the BSP will then check APs?status
|
||||
periodically, with time interval of 16
|
||||
and the BSP will then check APs?status
|
||||
periodically, with time interval of 16
|
||||
microseconds.
|
||||
- IPF:
|
||||
If SingleThread is TRUE and FailedCPUList
|
||||
is NULL, this parameter is ignored. If
|
||||
SingleThread is TRUE and FailedCPUList is
|
||||
not NULL, this parameter determines whether
|
||||
the BSP waits until all APs finish their
|
||||
procedure. If it is zero, the BSP does not
|
||||
wait for APs. If it is non-zero, it waits
|
||||
until all APs finish. If SingleThread is
|
||||
FALSE and WaitEvent is NULL, this parameter
|
||||
is ignored. If SingleThread is FALSE and
|
||||
WaitEvent is not NULL, the BSP waits after
|
||||
each AP is dispatched and this value
|
||||
determines time interval. If the value is
|
||||
zero, the length of time interval is 10ms.
|
||||
If the value is non-zero, the BSP waits
|
||||
until dispatched AP finishes and then
|
||||
If SingleThread is TRUE and FailedCPUList
|
||||
is NULL, this parameter is ignored. If
|
||||
SingleThread is TRUE and FailedCPUList is
|
||||
not NULL, this parameter determines whether
|
||||
the BSP waits until all APs finish their
|
||||
procedure. If it is zero, the BSP does not
|
||||
wait for APs. If it is non-zero, it waits
|
||||
until all APs finish. If SingleThread is
|
||||
FALSE and WaitEvent is NULL, this parameter
|
||||
is ignored. If SingleThread is FALSE and
|
||||
WaitEvent is not NULL, the BSP waits after
|
||||
each AP is dispatched and this value
|
||||
determines time interval. If the value is
|
||||
zero, the length of time interval is 10ms.
|
||||
If the value is non-zero, the BSP waits
|
||||
until dispatched AP finishes and then
|
||||
dispatch the next.
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
function specified by Procedure.
|
||||
@param[out] FailedCPUList List of APs that did not finish.
|
||||
- IA32, X64:
|
||||
If not NULL, it records handle numbers of
|
||||
all logical processors that fail to accept
|
||||
If not NULL, it records handle numbers of
|
||||
all logical processors that fail to accept
|
||||
caller-provided function (busy or disabled).
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF:
|
||||
If not NULL, it records status of all
|
||||
logical processors, with processor handle
|
||||
number as index. If a logical processor
|
||||
fails to accept caller-provided function
|
||||
because it is busy, the status is EFI_NOT_READY.
|
||||
If it fails to accept function due to other
|
||||
reasons, the status is EFI_NOT_AVAILABLE_YET.
|
||||
If not NULL, it records status of all
|
||||
logical processors, with processor handle
|
||||
number as index. If a logical processor
|
||||
fails to accept caller-provided function
|
||||
because it is busy, the status is EFI_NOT_READY.
|
||||
If it fails to accept function due to other
|
||||
reasons, the status is EFI_NOT_AVAILABLE_YET.
|
||||
If timeout expires, the status is EFI_TIMEOUT.
|
||||
Otherwise, the value is EFI_SUCCESS. If NULL,
|
||||
Otherwise, the value is EFI_SUCCESS. If NULL,
|
||||
this parameter is ignored.
|
||||
|
||||
@retval EFI_SUCCESS IA32, X64: All dispatched APs have finished
|
||||
@retval EFI_SUCCESS IA32, X64: All dispatched APs have finished
|
||||
before the timeout expires.
|
||||
@retval EFI_SUCCESS IA32, X64: Only 1 logical processor exists
|
||||
@retval EFI_SUCCESS IA32, X64: Only 1 logical processor exists
|
||||
in system.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@retval EFI_TIMEOUT IA32, X64: The timeout expires before all
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@retval EFI_TIMEOUT IA32, X64: The timeout expires before all
|
||||
dispatched APs have finished.
|
||||
@retval EFI_SUCCESS IPF: This function always returns EFI_SUCCESS.
|
||||
@retval EFI_SUCCESS IPF: This function always returns EFI_SUCCESS.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@ -437,63 +437,63 @@ EFI_STATUS
|
||||
IN FRAMEWORK_EFI_AP_PROCEDURE Procedure,
|
||||
IN BOOLEAN SingleThread,
|
||||
IN EFI_EVENT WaitEvent OPTIONAL,
|
||||
IN UINTN TimeoutInMicroSecs,
|
||||
IN UINTN TimeoutInMicroSecs,
|
||||
IN VOID *ProcArguments OPTIONAL,
|
||||
OUT UINTN *FailedCPUList OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
This function is used to dispatch one enabled AP to the function provided by
|
||||
the caller. The caller can request the BSP to either wait for the AP or just
|
||||
This function is used to dispatch one enabled AP to the function provided by
|
||||
the caller. The caller can request the BSP to either wait for the AP or just
|
||||
proceed with the next task.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] Procedure A pointer to the function to be run on the
|
||||
designated AP.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from
|
||||
0 to the total number of logical processors
|
||||
minus 1. The total number of logical
|
||||
@param[in] Procedure A pointer to the function to be run on the
|
||||
designated AP.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from
|
||||
0 to the total number of logical processors
|
||||
minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo().
|
||||
@param[in] WaitEvent Event to signal when APs have finished.
|
||||
- IA32, X64:
|
||||
If not NULL, when the AP finishes after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
If not NULL, when the AP finishes after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
the parameter is ignored.
|
||||
- IPF:
|
||||
This parameter determines whether the BSP
|
||||
waits after the AP is dispatched. If it is
|
||||
NULL, the BSP does not wait after the AP
|
||||
is dispatched. If it is not NULL, the BSP
|
||||
waits after the AP is dispatched, and the
|
||||
This parameter determines whether the BSP
|
||||
waits after the AP is dispatched. If it is
|
||||
NULL, the BSP does not wait after the AP
|
||||
is dispatched. If it is not NULL, the BSP
|
||||
waits after the AP is dispatched, and the
|
||||
time interval is determined by TimeoutInMicrosecs.
|
||||
Type EFI_EVENT is defined in CreateEvent()
|
||||
in the Unified Extensible Firmware Interface
|
||||
Type EFI_EVENT is defined in CreateEvent()
|
||||
in the Unified Extensible Firmware Interface
|
||||
Specification.
|
||||
@param[in] TimeoutInMicrosecsond Time to wait for APs to finish.
|
||||
- IA32, X64:
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until the AP finishes.
|
||||
If the value is not zero, the BSP waits until
|
||||
the AP finishes or timeout expires. If timeout
|
||||
expires, EFI_TIMEOUT is returned, and the
|
||||
BSP will then check the AP's status periodically,
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until the AP finishes.
|
||||
If the value is not zero, the BSP waits until
|
||||
the AP finishes or timeout expires. If timeout
|
||||
expires, EFI_TIMEOUT is returned, and the
|
||||
BSP will then check the AP's status periodically,
|
||||
with time interval of 16 microseconds.
|
||||
- IPF:
|
||||
If WaitEvent is NULL, this parameter is ignored.
|
||||
If WaitEvent is not NULL, the BSP waits after
|
||||
the AP is dispatched and this value determines
|
||||
time interval. If the value is zero, the length
|
||||
of time interval is 10ms. If the value is
|
||||
If WaitEvent is not NULL, the BSP waits after
|
||||
the AP is dispatched and this value determines
|
||||
time interval. If the value is zero, the length
|
||||
of time interval is 10ms. If the value is
|
||||
non-zero, the BSP waits until the AP finishes.
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
function specified by Procedure.
|
||||
|
||||
@retval EFI_SUCCESS Specified AP has finished before the timeout
|
||||
@retval EFI_SUCCESS Specified AP has finished before the timeout
|
||||
expires.
|
||||
@retval EFI_TIMEOUT The timeout expires before specified AP has
|
||||
@retval EFI_TIMEOUT The timeout expires before specified AP has
|
||||
finished.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Specified AP is busy or disabled.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@ -516,22 +516,22 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service switches the requested AP to be the BSP from that point onward.
|
||||
The new BSP can take over the execution of the old BSP and continue seamlessly
|
||||
from where the old one left off. This call can only be performed by the
|
||||
This service switches the requested AP to be the BSP from that point onward.
|
||||
The new BSP can take over the execution of the old BSP and continue seamlessly
|
||||
from where the old one left off. This call can only be performed by the
|
||||
current BSP.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] EnableOldBSP If TRUE, then the old BSP will be listed as an
|
||||
@param[in] EnableOldBSP If TRUE, then the old BSP will be listed as an
|
||||
enabled AP. Otherwise, it will be disabled.
|
||||
|
||||
@retval EFI_SUCCESS BSP successfully switched.
|
||||
@retval EFI_INVALID_PARAMETER The processor with the handle specified by
|
||||
@retval EFI_INVALID_PARAMETER The processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_NOT_READY IA32, X64: Specified AP is busy or disabled.
|
||||
@ -549,26 +549,26 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service sends an IPI to a specified AP. Caller can specify vector number
|
||||
This service sends an IPI to a specified AP. Caller can specify vector number
|
||||
and delivery mode of the interrupt.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] VectorNumber The vector number of the interrupt.
|
||||
@param[in] DeliveryMode The delivery mode of the interrupt.
|
||||
|
||||
@retval EFI_SUCCESS IPI was successfully sent.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: VectorNumber is greater than 255.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: DeliveryMode is greater than or equal
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: DeliveryMode is greater than or equal
|
||||
to DELIVERY_MODE_MAX.
|
||||
@retval EFI_NOT_READY IA32, X64: IPI is not accepted by the target
|
||||
@retval EFI_NOT_READY IA32, X64: IPI is not accepted by the target
|
||||
processor within 10 microseconds.
|
||||
@retval EFI_INVALID_PARAMETER IPF: Specified AP is disabled.
|
||||
@retval EFI_INVALID_PARAMETER IPF: Specified AP is unhealthy or untested.
|
||||
@ -585,28 +585,28 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service lets the caller enable or disable an AP. The caller can optionally
|
||||
specify the health status of the AP by Health. It is usually used to update the
|
||||
This service lets the caller enable or disable an AP. The caller can optionally
|
||||
specify the health status of the AP by Health. It is usually used to update the
|
||||
health status of the processor after some processor test.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] NewAPState Indicates whether the new, desired state of the
|
||||
AP is enabled or disabled. TRUE for enabling,
|
||||
@param[in] NewAPState Indicates whether the new, desired state of the
|
||||
AP is enabled or disabled. TRUE for enabling,
|
||||
FALSE otherwise.
|
||||
@param[in] HealthState If not NULL, it points to the value that specifies
|
||||
the new health status of the AP. If it is NULL,
|
||||
this parameter is ignored.
|
||||
@param[in] HealthState If not NULL, it points to the value that specifies
|
||||
the new health status of the AP. If it is NULL,
|
||||
this parameter is ignored.
|
||||
|
||||
@retval EFI_SUCCESS AP successfully enabled or disabled.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IPF: If an unhealthy or untested AP is to be
|
||||
@retval EFI_INVALID_PARAMETER IPF: If an unhealthy or untested AP is to be
|
||||
enabled.
|
||||
|
||||
**/
|
||||
@ -620,17 +620,17 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service lets the caller processor get its handle number, with which any
|
||||
processor in the system can be uniquely identified. The range is from 0 to the
|
||||
total number of logical processors minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo(). This service may be called
|
||||
This service lets the caller processor get its handle number, with which any
|
||||
processor in the system can be uniquely identified. The range is from 0 to the
|
||||
total number of logical processors minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo(). This service may be called
|
||||
from the BSP and APs.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[out] ProcessorNumber A pointer to the handle number of AP. The range is
|
||||
from 0 to the total number of logical processors
|
||||
minus 1. The total number of logical processors
|
||||
@param[out] ProcessorNumber A pointer to the handle number of AP. The range is
|
||||
from 0 to the total number of logical processors
|
||||
minus 1. The total number of logical processors
|
||||
can be retrieved by GetGeneralMPInfo().
|
||||
|
||||
@retval EFI_SUCCESS This function always returns EFI_SUCCESS.
|
||||
|
@ -2,13 +2,13 @@
|
||||
This protocol abstracts the 8259 interrupt controller. This includes
|
||||
PCI IRQ routing needed to program the PCI Interrupt Line register.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -7,15 +7,15 @@
|
||||
well known naming conventions.
|
||||
|
||||
Thunk is the code that switches from 32-bit protected environment into the 16-bit real-mode
|
||||
environment. Reverse thunk is the code that does the opposite.
|
||||
environment. Reverse thunk is the code that does the opposite.
|
||||
|
||||
Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -28,7 +28,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define _EFI_LEGACY_BIOS_H_
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
#pragma pack(1)
|
||||
|
||||
@ -51,75 +51,75 @@ typedef struct {
|
||||
/// 1 is "F," byte 2 is "E," and byte 3 is "$" and is normally accessed as a DWORD or UINT32.
|
||||
///
|
||||
UINT32 Signature;
|
||||
|
||||
|
||||
///
|
||||
/// The value required such that byte checksum of TableLength equals zero.
|
||||
///
|
||||
UINT8 TableChecksum;
|
||||
|
||||
|
||||
///
|
||||
/// The length of this table.
|
||||
///
|
||||
UINT8 TableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The major EFI revision for which this table was generated.
|
||||
///
|
||||
///
|
||||
UINT8 EfiMajorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The minor EFI revision for which this table was generated.
|
||||
///
|
||||
UINT8 EfiMinorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The major revision of this table.
|
||||
///
|
||||
UINT8 TableMajorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The minor revision of this table.
|
||||
///
|
||||
UINT8 TableMinorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future usage.
|
||||
///
|
||||
UINT16 Reserved;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the entry point within the traditional BIOS for Compatibility16 functions.
|
||||
///
|
||||
UINT16 Compatibility16CallSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the entry point within the traditional BIOS for Compatibility16 functions.
|
||||
///
|
||||
UINT16 Compatibility16CallOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// The segment of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// to invoke the PnP installation check.
|
||||
///
|
||||
UINT16 PnPInstallationCheckSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The Offset of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// The Offset of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// to invoke the PnP installation check.
|
||||
///
|
||||
UINT16 PnPInstallationCheckOffset;
|
||||
|
||||
|
||||
///
|
||||
/// EFI system resources table. Type EFI_SYSTEM_TABLE is defined in the IntelPlatform
|
||||
/// EFI system resources table. Type EFI_SYSTEM_TABLE is defined in the IntelPlatform
|
||||
///Innovation Framework for EFI Driver Execution Environment Core Interface Specification (DXE CIS).
|
||||
///
|
||||
UINT32 EfiSystemTable;
|
||||
|
||||
UINT32 EfiSystemTable;
|
||||
|
||||
///
|
||||
/// The address of an OEM-provided identifier string. The string is null terminated.
|
||||
///
|
||||
UINT32 OemIdStringPointer;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where ACPI RSD PTR is stored within the traditional
|
||||
/// BIOS. The remained of the ACPI tables are located at their EFI addresses. The size
|
||||
@ -127,93 +127,93 @@ typedef struct {
|
||||
/// RSD PTR with either the ACPI 1.0b or 2.0 values.
|
||||
///
|
||||
UINT32 AcpiRsdPtrPointer;
|
||||
|
||||
|
||||
///
|
||||
/// The OEM revision number. Usage is undefined but provided for OEM module usage.
|
||||
///
|
||||
UINT16 OemRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where INT15 E820 data is stored within the traditional
|
||||
/// BIOS. The EfiCompatibility code will fill in the E820Pointer value and copy the
|
||||
/// data to the indicated area.
|
||||
///
|
||||
UINT32 E820Pointer;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the E820 data and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 E820Length;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where the $PIR table is stored in the traditional BIOS.
|
||||
/// The EfiCompatibility code will fill in the IrqRoutingTablePointer value and
|
||||
/// copy the data to the indicated area.
|
||||
///
|
||||
UINT32 IrqRoutingTablePointer;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the $PIR table and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 IrqRoutingTableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where the MP table is stored in the traditional BIOS.
|
||||
/// The EfiCompatibility code will fill in the MpTablePtr value and copy the data
|
||||
/// The EfiCompatibility code will fill in the MpTablePtr value and copy the data
|
||||
/// to the indicated area.
|
||||
///
|
||||
UINT32 MpTablePtr;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the MP table and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 MpTableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific INT table/code.
|
||||
///
|
||||
///
|
||||
UINT16 OemIntSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific INT table/code.
|
||||
///
|
||||
UINT16 OemIntOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific 32-bit table/code.
|
||||
///
|
||||
UINT16 Oem32Segment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific 32-bit table/code.
|
||||
///
|
||||
UINT16 Oem32Offset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific 16-bit table/code.
|
||||
///
|
||||
UINT16 Oem16Segment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific 16-bit table/code.
|
||||
///
|
||||
UINT16 Oem16Offset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the TPM binary passed to 16-bit CSM.
|
||||
///
|
||||
UINT16 TpmSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the TPM binary passed to 16-bit CSM.
|
||||
///
|
||||
UINT16 TpmOffset;
|
||||
|
||||
|
||||
///
|
||||
/// A pointer to a string identifying the independent BIOS vendor.
|
||||
///
|
||||
UINT32 IbvPointer;
|
||||
|
||||
|
||||
///
|
||||
/// This field is NULL for all systems not supporting PCI Express. This field is the base
|
||||
/// value of the start of the PCI Express memory-mapped configuration registers and
|
||||
@ -223,7 +223,7 @@ typedef struct {
|
||||
/// Functions.
|
||||
///
|
||||
UINT32 PciExpressBase;
|
||||
|
||||
|
||||
///
|
||||
/// Maximum PCI bus number assigned.
|
||||
///
|
||||
@ -256,12 +256,12 @@ typedef struct {
|
||||
} EFI_COMPATIBILITY16_TABLE;
|
||||
|
||||
///
|
||||
/// Functions provided by the CSM binary which communicate between the EfiCompatibility
|
||||
/// Functions provided by the CSM binary which communicate between the EfiCompatibility
|
||||
/// and Compatability16 code.
|
||||
///
|
||||
/// Inconsistent with the specification here:
|
||||
/// The member's name started with "Compatibility16" [defined in Intel Framework
|
||||
/// Compatibility Support Module Specification / 0.97 version]
|
||||
/// Inconsistent with the specification here:
|
||||
/// The member's name started with "Compatibility16" [defined in Intel Framework
|
||||
/// Compatibility Support Module Specification / 0.97 version]
|
||||
/// has been changed to "Legacy16" since keeping backward compatible.
|
||||
///
|
||||
typedef enum {
|
||||
@ -274,7 +274,7 @@ typedef enum {
|
||||
/// AX = Return Status codes
|
||||
///
|
||||
Legacy16InitializeYourself = 0x0000,
|
||||
|
||||
|
||||
///
|
||||
/// Causes the Compatibility16 BIOS to perform any drive number translations to match the boot sequence.
|
||||
/// Input:
|
||||
@ -284,18 +284,18 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16UpdateBbs = 0x0001,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code to perform any final actions before booting. The Compatibility16
|
||||
/// code is read/write.
|
||||
/// Input:
|
||||
/// AX = Compatibility16PrepareToBoot
|
||||
/// ES:BX = Pointer to EFI_TO_COMPATIBILITY16_BOOT_TABLE structure
|
||||
/// ES:BX = Pointer to EFI_TO_COMPATIBILITY16_BOOT_TABLE structure
|
||||
/// Return:
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16PrepareToBoot = 0x0002,
|
||||
|
||||
|
||||
///
|
||||
/// Causes the Compatibility16 BIOS to boot. The Compatibility16 code is Read/Only.
|
||||
/// Input:
|
||||
@ -304,7 +304,7 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16Boot = 0x0003,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code to get the last device from which a boot was attempted. This is
|
||||
/// stored in CMOS and is the priority number of the last attempted boot device.
|
||||
@ -315,7 +315,7 @@ typedef enum {
|
||||
/// BX = Priority number of the boot device.
|
||||
///
|
||||
Legacy16RetrieveLastBootDevice = 0x0004,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code rehook INT13, INT18, and/or INT19 after dispatching a legacy OpROM.
|
||||
/// Input:
|
||||
@ -326,7 +326,7 @@ typedef enum {
|
||||
/// BX = Number of non-BBS-compliant devices found. Equals 0 if BBS compliant.
|
||||
///
|
||||
Legacy16DispatchOprom = 0x0005,
|
||||
|
||||
|
||||
///
|
||||
/// Finds a free area in the 0xFxxxx or 0xExxxx region of the specified length and returns the address
|
||||
/// of that region.
|
||||
@ -343,7 +343,7 @@ typedef enum {
|
||||
/// DS:BX = Address of the region
|
||||
///
|
||||
Legacy16GetTableAddress = 0x0006,
|
||||
|
||||
|
||||
///
|
||||
/// Enables the EfiCompatibility module to do any nonstandard processing of keyboard LEDs or state.
|
||||
/// Input:
|
||||
@ -356,7 +356,7 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16SetKeyboardLeds = 0x0007,
|
||||
|
||||
|
||||
///
|
||||
/// Enables the EfiCompatibility module to install an interrupt handler for PCI mass media devices that
|
||||
/// do not have an OpROM associated with them. An example is SATA.
|
||||
@ -385,8 +385,8 @@ typedef struct {
|
||||
UINT32 BbsTablePointer; ///< A pointer to the BBS table.
|
||||
UINT16 RuntimeSegment; ///< The segment where the OpROM can be relocated to. If this value is 0x0000, this
|
||||
///< means that the relocation of this run time code is not supported.
|
||||
///< Inconsistent with specification here:
|
||||
///< The member's name "OpromDestinationSegment" [defined in Intel Framework Compatibility Support Module Specification / 0.97 version]
|
||||
///< Inconsistent with specification here:
|
||||
///< The member's name "OpromDestinationSegment" [defined in Intel Framework Compatibility Support Module Specification / 0.97 version]
|
||||
///< has been changed to "RuntimeSegment" since keeping backward compatible.
|
||||
|
||||
} EFI_DISPATCH_OPROM_TABLE;
|
||||
@ -399,52 +399,52 @@ typedef struct {
|
||||
/// Starting address of memory under 1 MB. The ending address is assumed to be 640 KB or 0x9FFFF.
|
||||
///
|
||||
UINT32 BiosLessThan1MB;
|
||||
|
||||
|
||||
///
|
||||
/// The starting address of the high memory block.
|
||||
///
|
||||
UINT32 HiPmmMemory;
|
||||
|
||||
|
||||
///
|
||||
/// The length of high memory block.
|
||||
///
|
||||
UINT32 HiPmmMemorySizeInBytes;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the reverse thunk call code.
|
||||
///
|
||||
UINT16 ReverseThunkCallSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the reverse thunk call code.
|
||||
///
|
||||
UINT16 ReverseThunkCallOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The number of E820 entries copied to the Compatibility16 BIOS.
|
||||
///
|
||||
UINT32 NumberE820Entries;
|
||||
|
||||
|
||||
///
|
||||
/// The amount of usable memory above 1 MB, e.g., E820 type 1 memory.
|
||||
///
|
||||
UINT32 OsMemoryAbove1Mb;
|
||||
|
||||
|
||||
///
|
||||
/// The start of thunk code in main memory. Memory cannot be used by BIOS or PMM.
|
||||
///
|
||||
UINT32 ThunkStart;
|
||||
|
||||
|
||||
///
|
||||
/// The size of the thunk code.
|
||||
///
|
||||
UINT32 ThunkSizeInBytes;
|
||||
|
||||
|
||||
///
|
||||
/// Starting address of memory under 1 MB.
|
||||
///
|
||||
UINT32 LowPmmMemory;
|
||||
|
||||
|
||||
///
|
||||
/// The length of low Memory block.
|
||||
///
|
||||
@ -535,40 +535,40 @@ typedef struct {
|
||||
/// per IDE controller. The IdentifyDrive is per drive. Index 0 is master and index
|
||||
/// 1 is slave.
|
||||
///
|
||||
UINT16 Status;
|
||||
|
||||
UINT16 Status;
|
||||
|
||||
///
|
||||
/// PCI bus of IDE controller.
|
||||
///
|
||||
UINT32 Bus;
|
||||
|
||||
|
||||
///
|
||||
/// PCI device of IDE controller.
|
||||
///
|
||||
UINT32 Device;
|
||||
|
||||
|
||||
///
|
||||
/// PCI function of IDE controller.
|
||||
///
|
||||
UINT32 Function;
|
||||
|
||||
|
||||
///
|
||||
/// Command ports base address.
|
||||
///
|
||||
UINT16 CommandBaseAddress;
|
||||
|
||||
|
||||
///
|
||||
/// Control ports base address.
|
||||
///
|
||||
UINT16 ControlBaseAddress;
|
||||
|
||||
|
||||
///
|
||||
/// Bus master address.
|
||||
///
|
||||
UINT16 BusMasterAddress;
|
||||
|
||||
|
||||
UINT8 HddIrq;
|
||||
|
||||
|
||||
///
|
||||
/// Data that identifies the drive data; one per possible attached drive.
|
||||
///
|
||||
@ -596,7 +596,7 @@ typedef struct {
|
||||
UINT16 Enabled : 1; ///< If 0, ignore this entry.
|
||||
UINT16 Failed : 1; ///< 0 = Not known if boot failure occurred.
|
||||
///< 1 = Boot attempted failed.
|
||||
|
||||
|
||||
///
|
||||
/// State of media present.
|
||||
/// 00 = No bootable media is present in the device.
|
||||
@ -616,64 +616,64 @@ typedef struct {
|
||||
/// The boot priority for this boot device. Values are defined below.
|
||||
///
|
||||
UINT16 BootPriority;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI bus for this boot device.
|
||||
///
|
||||
UINT32 Bus;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI device for this boot device.
|
||||
///
|
||||
UINT32 Device;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI function for the boot device.
|
||||
///
|
||||
UINT32 Function;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI class for this boot device.
|
||||
///
|
||||
UINT8 Class;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI Subclass for this boot device.
|
||||
///
|
||||
UINT8 SubClass;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing the manufacturer.
|
||||
///
|
||||
UINT16 MfgStringOffset;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing the manufacturer.
|
||||
///
|
||||
///
|
||||
UINT16 MfgStringSegment;
|
||||
|
||||
|
||||
///
|
||||
/// BBS device type. BBS device types are defined below.
|
||||
///
|
||||
UINT16 DeviceType;
|
||||
|
||||
|
||||
///
|
||||
/// Status of this boot device. Type BBS_STATUS_FLAGS is defined below.
|
||||
///
|
||||
BBS_STATUS_FLAGS StatusFlags;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:Offset address of boot loader for IPL devices or install INT13 handler for
|
||||
/// BCV devices.
|
||||
///
|
||||
UINT16 BootHandlerOffset;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:Offset address of boot loader for IPL devices or install INT13 handler for
|
||||
/// BCV devices.
|
||||
///
|
||||
///
|
||||
UINT16 BootHandlerSegment;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing this device.
|
||||
///
|
||||
@ -683,38 +683,38 @@ typedef struct {
|
||||
/// Segment:offset address of an ASCIIZ description string describing this device.
|
||||
///
|
||||
UINT16 DescStringSegment;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved.
|
||||
///
|
||||
UINT32 InitPerReserved;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
UINT32 AdditionalIrq13Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq18Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq19Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq40Handler;
|
||||
UINT8 AssignedDriveNumber;
|
||||
UINT32 AdditionalIrq41Handler;
|
||||
@ -754,17 +754,17 @@ typedef struct {
|
||||
/// values are reserved for future usage.
|
||||
///
|
||||
UINT16 Type : 3;
|
||||
|
||||
|
||||
///
|
||||
/// The size of "port" in bits. Defined values are below.
|
||||
///
|
||||
UINT16 PortGranularity : 3;
|
||||
|
||||
|
||||
///
|
||||
/// The size of data in bits. Defined values are below.
|
||||
///
|
||||
UINT16 DataGranularity : 3;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future use.
|
||||
///
|
||||
@ -829,17 +829,17 @@ typedef struct {
|
||||
/// SMM_ATTRIBUTES is defined below.
|
||||
///
|
||||
SMM_ATTRIBUTES SmmAttributes;
|
||||
|
||||
|
||||
///
|
||||
/// Function Soft SMI is to perform. Type SMM_FUNCTION is defined below.
|
||||
///
|
||||
SMM_FUNCTION SmmFunction;
|
||||
|
||||
|
||||
///
|
||||
/// SmmPort size depends upon SmmAttributes and ranges from2 bytes to 16 bytes.
|
||||
///
|
||||
UINT8 SmmPort;
|
||||
|
||||
|
||||
///
|
||||
/// SmmData size depends upon SmmAttributes and ranges from2 bytes to 16 bytes.
|
||||
///
|
||||
@ -862,18 +862,18 @@ typedef struct {
|
||||
/// This bit set indicates that the ServiceAreaData is valid.
|
||||
///
|
||||
UINT8 DirectoryServiceValidity : 1;
|
||||
|
||||
|
||||
///
|
||||
/// This bit set indicates to use the Reserve Area Boot Code Address (RACBA) only if
|
||||
/// DirectoryServiceValidity is 0.
|
||||
///
|
||||
UINT8 RabcaUsedFlag : 1;
|
||||
|
||||
|
||||
///
|
||||
/// This bit set indicates to execute hard disk diagnostics.
|
||||
///
|
||||
UINT8 ExecuteHddDiagnosticsFlag : 1;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future use. Set to 0.
|
||||
///
|
||||
@ -889,35 +889,35 @@ typedef struct {
|
||||
/// UDC_ATTRIBUTES is defined below.
|
||||
///
|
||||
UDC_ATTRIBUTES Attributes;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based device on which the selected
|
||||
/// ServiceDataArea is present. It is 0 for master and 1 for the slave device.
|
||||
/// ServiceDataArea is present. It is 0 for master and 1 for the slave device.
|
||||
///
|
||||
UINT8 DeviceNumber;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the parent device.
|
||||
/// This index allows the user to reference the parent device information such as PCI
|
||||
/// bus, device function.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForParentDevice;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the boot entry.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForBoot;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the HDD diagnostics entry.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForHddDiag;
|
||||
|
||||
|
||||
///
|
||||
/// The raw Beer data.
|
||||
///
|
||||
UINT8 BeerData[128];
|
||||
|
||||
|
||||
///
|
||||
/// The raw data of selected service area.
|
||||
///
|
||||
@ -1008,8 +1008,8 @@ typedef struct _EFI_LEGACY_BIOS_PROTOCOL EFI_LEGACY_BIOS_PROTOCOL;
|
||||
#define ROM_WITH_CONFIG 0x04 ///< Not defined in the Framework CSM Specification.
|
||||
|
||||
///
|
||||
/// The following macros do not appear in the Framework CSM Specification and
|
||||
/// are kept for backward compatibility only. They convert 32-bit address (_Adr)
|
||||
/// The following macros do not appear in the Framework CSM Specification and
|
||||
/// are kept for backward compatibility only. They convert 32-bit address (_Adr)
|
||||
/// to Segment:Offset 16-bit form.
|
||||
///
|
||||
///@{
|
||||
@ -1147,7 +1147,7 @@ typedef union {
|
||||
@param[in,out] Reg Register contexted passed into (and returned) from thunk to
|
||||
16-bit mode.
|
||||
|
||||
@retval TRUE Thunk completed with no BIOS errors in the target code. See Regs for status.
|
||||
@retval TRUE Thunk completed with no BIOS errors in the target code. See Regs for status.
|
||||
@retval FALSE There was a BIOS error in the target code.
|
||||
**/
|
||||
typedef
|
||||
@ -1292,8 +1292,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This function takes the Leds input parameter and sets/resets the BDA accordingly.
|
||||
Leds is also passed to Compatibility16 code, in case any special processing is required.
|
||||
This function takes the Leds input parameter and sets/resets the BDA accordingly.
|
||||
Leds is also passed to Compatibility16 code, in case any special processing is required.
|
||||
This function is normally called from EFI Setup drivers that handle user-selectable
|
||||
keyboard options such as boot with NUM LOCK on/off. This function does not
|
||||
touch the keyboard or keyboard LEDs but only the BDA.
|
||||
@ -1386,9 +1386,9 @@ EFI_STATUS
|
||||
Warning: Use this with caution. This routine disconnects all EFI
|
||||
drivers. If used externally, then the caller must re-connect EFI
|
||||
drivers.
|
||||
|
||||
|
||||
@param[in] This The protocol instance pointer.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS OPROMs were shadowed.
|
||||
|
||||
**/
|
||||
@ -1460,58 +1460,58 @@ struct _EFI_LEGACY_BIOS_PROTOCOL {
|
||||
/// Performs traditional software INT. See the Int86() function description.
|
||||
///
|
||||
EFI_LEGACY_BIOS_INT86 Int86;
|
||||
|
||||
|
||||
///
|
||||
/// Performs a far call into Compatibility16 or traditional OpROM code.
|
||||
///
|
||||
EFI_LEGACY_BIOS_FARCALL86 FarCall86;
|
||||
|
||||
|
||||
///
|
||||
/// Checks if a traditional OpROM exists for this device.
|
||||
///
|
||||
EFI_LEGACY_BIOS_CHECK_ROM CheckPciRom;
|
||||
|
||||
|
||||
///
|
||||
/// Loads a traditional OpROM in traditional OpROM address space.
|
||||
///
|
||||
EFI_LEGACY_BIOS_INSTALL_ROM InstallPciRom;
|
||||
|
||||
|
||||
///
|
||||
/// Boots a traditional OS.
|
||||
///
|
||||
EFI_LEGACY_BIOS_BOOT LegacyBoot;
|
||||
|
||||
|
||||
///
|
||||
/// Updates BDA to reflect the current EFI keyboard LED status.
|
||||
///
|
||||
EFI_LEGACY_BIOS_UPDATE_KEYBOARD_LED_STATUS UpdateKeyboardLedStatus;
|
||||
|
||||
|
||||
///
|
||||
/// Allows an external agent, such as BIOS Setup, to get the BBS data.
|
||||
///
|
||||
EFI_LEGACY_BIOS_GET_BBS_INFO GetBbsInfo;
|
||||
|
||||
|
||||
///
|
||||
/// Causes all legacy OpROMs to be shadowed.
|
||||
///
|
||||
EFI_LEGACY_BIOS_SHADOW_ALL_LEGACY_OPROMS ShadowAllLegacyOproms;
|
||||
|
||||
|
||||
///
|
||||
/// Performs all actions prior to boot. Used when booting an EFI-aware OS
|
||||
/// rather than a legacy OS.
|
||||
/// rather than a legacy OS.
|
||||
///
|
||||
EFI_LEGACY_BIOS_PREPARE_TO_BOOT_EFI PrepareToBootEfi;
|
||||
|
||||
|
||||
///
|
||||
/// Allows EFI to reserve an area in the 0xE0000 or 0xF0000 block.
|
||||
///
|
||||
EFI_LEGACY_BIOS_GET_LEGACY_REGION GetLegacyRegion;
|
||||
|
||||
|
||||
///
|
||||
/// Allows EFI to copy data to the area specified by GetLegacyRegion.
|
||||
///
|
||||
EFI_LEGACY_BIOS_COPY_LEGACY_REGION CopyLegacyRegion;
|
||||
|
||||
|
||||
///
|
||||
/// Allows the user to boot off an unconventional device such as a PARTIES partition.
|
||||
///
|
||||
|
@ -4,13 +4,13 @@
|
||||
the Legacy BIOS protocol is generic and consumes this protocol.
|
||||
A driver that matches the Legacy16 produces this protocol
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -59,7 +59,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit-mapped address alignment granularity.
|
||||
/// Alignment Bit-mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
// LegacySegment Segment in which EfiCompatibility code will place the MP table.
|
||||
@ -97,7 +97,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@ -116,7 +116,7 @@ typedef enum {
|
||||
/// IBVs normally use this mode for nonstandard Compatibility16 runtime 16 bit routines. It
|
||||
/// is the responsibility of this routine to coalesce multiple OEM 16 bit functions, if they
|
||||
/// exist, into one coherent package that is understandable by the Compatibility16 code.
|
||||
///
|
||||
///
|
||||
/// Example usage: A legacy mobile BIOS that has a pre-existing runtime
|
||||
/// interface to return the battery status to calling applications.
|
||||
///
|
||||
@ -139,7 +139,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@ -158,13 +158,13 @@ typedef enum {
|
||||
/// IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It
|
||||
/// is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they
|
||||
/// exist, into one coherent package that is understandable by the Compatibility16 code.
|
||||
///
|
||||
///
|
||||
/// Example usage: A legacy mobile BIOS that has a pre existing runtime
|
||||
/// interface to return the battery status to calling applications.
|
||||
///
|
||||
/// This mode is invoked twice. The first invocation has LegacySegment and
|
||||
/// LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.
|
||||
///
|
||||
///
|
||||
/// The second invocation has LegacySegment and LegacyOffset set to the location
|
||||
/// in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second
|
||||
/// invocation allows any table address fix ups to occur in the EFI memory copy of the table.
|
||||
@ -191,7 +191,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@ -217,7 +217,7 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@ -239,21 +239,21 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// The function parameters associated with this mode are:
|
||||
///
|
||||
/// System ROM image for the platform.
|
||||
///
|
||||
///
|
||||
/// TableSize Size of Table in bytes.
|
||||
///
|
||||
///
|
||||
/// Location Ignored.
|
||||
///
|
||||
///
|
||||
/// Alignment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacySegment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacyOffset Ignored.
|
||||
///
|
||||
/// The return values associated with this mode are:
|
||||
///
|
||||
/// EFI_SUCCESS ROM image found.
|
||||
///
|
||||
///
|
||||
/// EFI_NOT_FOUND ROM not found.
|
||||
///
|
||||
EfiGetPlatformBinarySystemRom = 5,
|
||||
@ -264,15 +264,15 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// The function parameters associated with this mode are:
|
||||
///
|
||||
/// Table System ROM image for the platform.
|
||||
///
|
||||
///
|
||||
/// TableSize Size of Table in bytes.
|
||||
///
|
||||
///
|
||||
/// Location Ignored.
|
||||
///
|
||||
///
|
||||
/// Alignment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacySegment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacyOffset Ignored.
|
||||
///
|
||||
/// The return values associated with this mode are:
|
||||
@ -306,7 +306,7 @@ typedef enum {
|
||||
/// HandleCount Number of VGA handles found.
|
||||
///
|
||||
/// AdditionalData NULL.
|
||||
///
|
||||
///
|
||||
EfiGetPlatformVgaHandle = 0,
|
||||
///
|
||||
/// This mode returns the Compatibility16 policy for the device that should be the IDE
|
||||
@ -368,7 +368,7 @@ typedef enum {
|
||||
///
|
||||
/// Type 0.
|
||||
///
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
///
|
||||
/// ShadowAddress Address where OpROM is shadowed.
|
||||
///
|
||||
@ -402,14 +402,14 @@ typedef enum {
|
||||
///
|
||||
/// Type 0.
|
||||
///
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
///
|
||||
/// ShadowAddress Address where OpROM is shadowed.
|
||||
///
|
||||
/// Compatibility16Table NULL.
|
||||
///
|
||||
/// AdditionalData NULL.
|
||||
///
|
||||
///
|
||||
EfiPlatformHookAfterRomInit = 2
|
||||
} EFI_GET_PLATFORM_HOOK_MODE;
|
||||
|
||||
@ -419,7 +419,7 @@ typedef enum {
|
||||
#define PCI_UNUSED 0x00
|
||||
///
|
||||
/// This IRQ has been assigned to PCI.
|
||||
///
|
||||
///
|
||||
#define PCI_USED 0xFF
|
||||
///
|
||||
/// This IRQ has been used by an SIO legacy device and cannot be used by PCI.
|
||||
@ -546,8 +546,8 @@ typedef struct {
|
||||
@param This The protocol instance pointer.
|
||||
@param Mode Specifies what data to return. See See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Table Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param TableSize Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Location Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param TableSize Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Location Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Alignment Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param LegacySegment Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param LegacyOffset Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@ -649,7 +649,7 @@ EFI_STATUS
|
||||
* A list of PCI IRQs and the priority order to assign them.
|
||||
|
||||
@param This The protocol instance pointer.
|
||||
@param RoutingTable The pointer to PCI IRQ Routing table.
|
||||
@param RoutingTable The pointer to PCI IRQ Routing table.
|
||||
This location is the $PIR table minus the header.
|
||||
@param RoutingTableEntries The number of entries in table.
|
||||
@param LocalPirqTable $PIR table.
|
||||
@ -674,7 +674,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Translates the given PIRQ accounting for bridge.
|
||||
This function translates the given PIRQ back through all buses, if required,
|
||||
This function translates the given PIRQ back through all buses, if required,
|
||||
and returns the true PIRQ and associated IRQ.
|
||||
|
||||
@param This The protocol instance pointer.
|
||||
@ -746,7 +746,7 @@ struct _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL {
|
||||
///
|
||||
/// Gets $PIR table.
|
||||
EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE GetRoutingTable;
|
||||
///
|
||||
///
|
||||
/// Translates the given PIRQ to the final value after traversing any PCI bridges.
|
||||
///
|
||||
EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ TranslatePirq;
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This protocol abstracts the PIRQ programming from the generic EFI Compatibility Support Modules (CSMs).
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This protocol manages the legacy memory regions between 0xc0000 - 0xfffff.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -4,13 +4,13 @@
|
||||
This interface provides a means of decoding a set of sections into a linked list of
|
||||
leaf sections. This provides for an extensible and flexible file format.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -66,15 +66,15 @@ EFI_STATUS
|
||||
|
||||
@param This Indicates the EFI_SECTION_EXTRACTION_PROTOCOL instance.
|
||||
@param SectionStreamHandle Indicates from which section stream to read.
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If SectionType == NULL,
|
||||
the contents of the entire section stream are returned
|
||||
in Buffer. If SectionType is not NULL, only the
|
||||
requested section is returned. EFI_SECTION_ALL
|
||||
matches all section types and can be used as a
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If SectionType == NULL,
|
||||
the contents of the entire section stream are returned
|
||||
in Buffer. If SectionType is not NULL, only the
|
||||
requested section is returned. EFI_SECTION_ALL
|
||||
matches all section types and can be used as a
|
||||
wild card to extract all sections in order.
|
||||
@param SectionDefinitionGuid The pointer to an EFI_GUID. If SectionType ==
|
||||
EFI_SECTION_GUID_DEFINED, SectionDefinitionGuid
|
||||
indicates what section GUID to search for. If
|
||||
EFI_SECTION_GUID_DEFINED, SectionDefinitionGuid
|
||||
indicates what section GUID to search for. If
|
||||
SectionType !=EFI_SECTION_GUID_DEFINED, then
|
||||
SectionDefinitionGuid is unused and is ignored.
|
||||
@param SectionInstance Indicates which instance of the requested section
|
||||
@ -85,23 +85,23 @@ EFI_STATUS
|
||||
contents are returned.
|
||||
@param BufferSize A pointer to a caller-allocated UINTN.
|
||||
@param AuthenticationStatus A pointer to a caller-allocated UINT32 in
|
||||
which any meta-data from encapsulation GUID-defined
|
||||
which any meta-data from encapsulation GUID-defined
|
||||
sections is returned.
|
||||
|
||||
@retval EFI_SUCCESS The SectionStream was successfully processed and
|
||||
the section contents were returned in Buffer.
|
||||
@retval EFI_PROTOCOL_ERROR A GUID-defined section was encountered inthe section
|
||||
stream with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
stream with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
Section Extraction Protocol in the handle database.
|
||||
@retval EFI_NOT_FOUND An error was encountered when parsing the SectionStream,
|
||||
which indicates that the SectionStream is not
|
||||
which indicates that the SectionStream is not
|
||||
correctly formatted. Or, the requested section does not exist.
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process
|
||||
the request.
|
||||
@retval EFI_INVALID_PARAMETER The SectionStreamHandle does not exist.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The size of the input buffer is insufficient
|
||||
to contain the requested section. The input
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The size of the input buffer is insufficient
|
||||
to contain the requested section. The input
|
||||
buffer is filled and section contents are truncated.
|
||||
|
||||
**/
|
||||
|
@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This file declares the SMM SMRAM Access abstraction protocol, which is used to control
|
||||
This file declares the SMM SMRAM Access abstraction protocol, which is used to control
|
||||
the visibility of the SMRAM on the platform. The expectation is
|
||||
that the north bridge or memory controller would publish this protocol.
|
||||
For example, the Memory Controller Hub (MCH) has the hardware provision for this
|
||||
type of control. Because of the protected, distinguished class of memory for IA-32
|
||||
that the north bridge or memory controller would publish this protocol.
|
||||
For example, the Memory Controller Hub (MCH) has the hardware provision for this
|
||||
type of control. Because of the protected, distinguished class of memory for IA-32
|
||||
systems, the expectation is that this protocol would be supported only on IA-32 systems.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -2,7 +2,7 @@
|
||||
This file declares SMM Base abstraction protocol.
|
||||
This protocol is used to install SMM handlers for support of subsequent SMI/PMI activations. This
|
||||
protocol is available on both IA-32 and Itanium-based systems.
|
||||
|
||||
|
||||
The EFI_SMM_BASE_PROTOCOL is a set of services that is exported by a processor device. It is
|
||||
a required protocol for the platform processor. This protocol can be used in both boot services and
|
||||
runtime mode. However, only the following member functions need to exist during runtime:
|
||||
@ -19,13 +19,13 @@
|
||||
workarounds for the century rollover in CMOS should provide commensurate services throughout
|
||||
preboot and OS runtime.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -72,9 +72,9 @@ typedef struct _EFI_SMM_BASE_PROTOCOL EFI_SMM_BASE_PROTOCOL;
|
||||
@param[in] SmmImageHandle A handle allocated by the SMM infrastructure code
|
||||
to uniquely designate a specific DXE SMM driver.
|
||||
@param[in] CommunicationBuffer A pointer to a collection of data in memory
|
||||
that will be conveyed from a non-SMM environment
|
||||
into an SMM environment. The buffer must be
|
||||
contiguous and physically mapped, and must be
|
||||
that will be conveyed from a non-SMM environment
|
||||
into an SMM environment. The buffer must be
|
||||
contiguous and physically mapped, and must be
|
||||
a physical address.
|
||||
@param[in] SourceSize The size of the CommunicationBuffer.
|
||||
|
||||
@ -101,10 +101,10 @@ EFI_STATUS
|
||||
@param[in] SourceBuffer An optional source buffer in case the image file
|
||||
is in memory.
|
||||
@param[in] SourceSize The size of the source image file, if in memory.
|
||||
@param[out] ImageHandle The handle that the base driver uses to decode
|
||||
the handler. Unique among SMM handlers only;
|
||||
@param[out] ImageHandle The handle that the base driver uses to decode
|
||||
the handler. Unique among SMM handlers only;
|
||||
not unique across DXE/EFI.
|
||||
@param[in] LegacyIA32Binary An optional parameter specifying that the associated
|
||||
@param[in] LegacyIA32Binary An optional parameter specifying that the associated
|
||||
file is a real-mode IA-32 binary.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful.
|
||||
@ -177,7 +177,7 @@ EFI_STATUS
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] SmmImageHandle Handle of the callback service.
|
||||
@param[in] CallbackAddress Address of the callback service.
|
||||
@param[in] MakeLast If present, will stipulate that the handler is posted to
|
||||
@param[in] MakeLast If present, will stipulate that the handler is posted to
|
||||
be executed last in the dispatch table.
|
||||
@param[in] FloatingPointSave An optional parameter that informs the
|
||||
EFI_SMM_ACCESS_PROTOCOL Driver core if it needs to save
|
||||
@ -209,8 +209,8 @@ EFI_STATUS
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] PoolType The type of pool to allocate.
|
||||
The only supported type is EfiRuntimeServicesData;
|
||||
the interface will internally map this runtime request to
|
||||
SMRAM for IA-32 and leave as this type for the Itanium
|
||||
the interface will internally map this runtime request to
|
||||
SMRAM for IA-32 and leave as this type for the Itanium
|
||||
processor family. Other types can be ignored.
|
||||
@param[in] Size The number of bytes to allocate from the pool.
|
||||
@param[out] Buffer A pointer to a pointer to the allocated buffer if the call
|
||||
|
@ -8,13 +8,13 @@
|
||||
event from a platform chipset agent is an optional capability for both IA-32 and Itanium-based
|
||||
systems.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -37,9 +37,9 @@ typedef struct _EFI_SMM_CONTROL_PROTOCOL EFI_SMM_CONTROL_PROTOCOL;
|
||||
// SMM Access specification Data Structures
|
||||
//
|
||||
typedef struct {
|
||||
///
|
||||
///
|
||||
/// Describes the I/O location of the particular port that engendered the synchronous
|
||||
/// SMI. For example, this location can include but is not limited to the traditional
|
||||
/// SMI. For example, this location can include but is not limited to the traditional
|
||||
/// PCAT* APM port of 0B2h.
|
||||
///
|
||||
UINT8 SmiTriggerRegister;
|
||||
@ -82,7 +82,7 @@ EFI_STATUS
|
||||
Clears any system state that was created in response to the Active call.
|
||||
|
||||
@param This The EFI_SMM_CONTROL_PROTOCOL instance.
|
||||
@param Periodic Optional parameter to repeat at this period one
|
||||
@param Periodic Optional parameter to repeat at this period one
|
||||
time or, if the Periodic Boolean is set, periodically.
|
||||
|
||||
@retval EFI_SUCCESS The SMI/PMI has been engendered.
|
||||
@ -138,12 +138,12 @@ EFI_STATUS
|
||||
// SMM Control Protocol
|
||||
//
|
||||
/**
|
||||
This protocol is used to initiate SMI/PMI activations.
|
||||
This protocol is used to initiate SMI/PMI activations.
|
||||
This protocol could be published by either:
|
||||
- A processor driver to abstract the SMI/PMI IPI.
|
||||
- The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an Intel chipset.
|
||||
Because of the possibility of performing SMI or PMI IPI transactions, the ability to generate this.
|
||||
|
||||
|
||||
The EFI_SMM_CONTROL_PROTOCOL is used by the platform chipset or processor driver. This
|
||||
protocol is usable both in boot services and at runtime. The runtime aspect enables an
|
||||
implementation of EFI_SMM_BASE_PROTOCOL.Communicate() to layer upon this service
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
This protocol provides CPU I/O and memory access within SMM.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -29,17 +29,17 @@ typedef struct _EFI_SMM_CPU_IO_INTERFACE EFI_SMM_CPU_IO_INTERFACE;
|
||||
/**
|
||||
Provides the basic memory and I/O interfaces used to abstract accesses to devices.
|
||||
|
||||
The I/O operations are carried out exactly as requested. The caller is
|
||||
responsible for any alignment and I/O width issues that the bus, device,
|
||||
The I/O operations are carried out exactly as requested. The caller is
|
||||
responsible for any alignment and I/O width issues that the bus, device,
|
||||
platform, or type of I/O might require.
|
||||
|
||||
@param[in] This The EFI_SMM_CPU_IO_INTERFACE instance.
|
||||
@param[in] Width Signifies the width of the I/O operations.
|
||||
@param[in] Address The base address of the I/O operations. The caller is
|
||||
responsible for aligning the Address, if required.
|
||||
@param[in] Address The base address of the I/O operations. The caller is
|
||||
responsible for aligning the Address, if required.
|
||||
@param[in] Count The number of I/O operations to perform.
|
||||
@param[in,out] Buffer For read operations, the destination buffer to store
|
||||
the results. For write operations, the source buffer
|
||||
@param[in,out] Buffer For read operations, the destination buffer to store
|
||||
the results. For write operations, the source buffer
|
||||
from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the device.
|
||||
|
@ -2,13 +2,13 @@
|
||||
This file declares the SMM CPU Save State protocol, which provides the processor
|
||||
save-state information for IA-32 and Itanium processors.
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -30,19 +30,19 @@ typedef struct _EFI_SMM_CPU_SAVE_STATE_PROTOCOL EFI_SMM_CPU_SAVE_STATE_PROTOCOL
|
||||
|
||||
#pragma pack (1)
|
||||
|
||||
///
|
||||
///
|
||||
/// CPU save-state strcuture for IA32 and X64.
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because the
|
||||
/// union in the Framework SMM CIS 0.91 contains an unnamed union member that causes build
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// field has been moved into EFI_SMM_CPU_STATE32. This maintains binary compatibility for
|
||||
/// the layout and also maintains source comaptibility for access of all fields in this
|
||||
/// union.
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// the Framework SMM CIS 0.91 uses ASM_XXX for base types in this structure. These
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Reserved[0x200];
|
||||
@ -80,9 +80,9 @@ typedef struct {
|
||||
} EFI_SMM_CPU_STATE32;
|
||||
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// the Framework SMM CIS 0.91 uses ASM_XXX for base types in this structure. These
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Reserved1[0x1d0]; // fc00h
|
||||
@ -148,7 +148,7 @@ typedef struct {
|
||||
///
|
||||
/// This union declaration does not exctly match the Framework SMM CIS 0.91 because the
|
||||
/// union in the Framework SMM CIS 0.91 contains an unnamed union member that causes build
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// field has been moved into EFI_SMM_CPU_STATE32. This maintains binary compatibility for
|
||||
/// the layout and also maintains source comaptibility for access of all fields in this
|
||||
/// union.
|
||||
|
@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This file declares the Smm Gpi Smi Child Protocol.
|
||||
|
||||
|
||||
The EFI_SMM_GPI_DISPATCH_PROTOCOL is defined in Framework of EFI SMM Core Interface Spec
|
||||
Version 0.9. It provides the ability to install child handlers for the given event types.
|
||||
Several inputs can be enabled. This purpose of this interface is to generate an
|
||||
SMI in response to any of these inputs having a true value provided.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
@ -36,7 +36,7 @@ typedef struct _EFI_SMM_GPI_DISPATCH_PROTOCOL EFI_SMM_GPI_DISPATCH_PROTOCOL;
|
||||
//
|
||||
|
||||
//
|
||||
// GpiMask is a bit mask of 32 possible general purpose inputs that can generate
|
||||
// GpiMask is a bit mask of 32 possible general purpose inputs that can generate
|
||||
// an SMI. Bit 0 corresponds to logical GPI[0], 1 corresponds to logical GPI[1], and so on.
|
||||
//
|
||||
// The logical GPI index to physical pin on device is described by the GPI device name
|
||||
@ -56,8 +56,8 @@ typedef struct {
|
||||
|
||||
@param DispatchHandle The handle of this dispatch function.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
The DispatchContext fields are filled in by the
|
||||
dispatching driver prior to invoking this dispatch
|
||||
The DispatchContext fields are filled in by the
|
||||
dispatching driver prior to invoking this dispatch
|
||||
function.
|
||||
**/
|
||||
typedef
|
||||
@ -76,7 +76,7 @@ VOID
|
||||
Indicates to the register
|
||||
function the GPI(s) for which the dispatch function
|
||||
should be invoked.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
|
@ -3,13 +3,13 @@
|
||||
The EFI_SMM_ICHN_DISPATCH_PROTOCOL provides the ability to install child handlers for
|
||||
the given event types.
|
||||
|
||||
Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the periodical timer SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -159,12 +159,12 @@ struct _EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL {
|
||||
/// Installs a child service to be dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_PERIODIC_TIMER_REGISTER Register;
|
||||
|
||||
|
||||
///
|
||||
/// Removes a child service dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_PERIODIC_TIMER_UNREGISTER UnRegister;
|
||||
|
||||
|
||||
///
|
||||
/// Returns the next SMI tick period that is supported by the chipset.
|
||||
///
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the power button SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -70,14 +70,14 @@ VOID
|
||||
/**
|
||||
Provides the parent dispatch service for a given SMI source generator
|
||||
|
||||
@param[in] This The pointer to the
|
||||
@param[in] This The pointer to the
|
||||
EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL instance.
|
||||
@param[in] DispatchFunction The function to install.
|
||||
@param[in] DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register
|
||||
function the Power Button SMI phase for which
|
||||
function the Power Button SMI phase for which
|
||||
to invoke the dispatch function.
|
||||
@param[out] DispatchHandle Handle generated by the dispatcher to track
|
||||
@param[out] DispatchHandle Handle generated by the dispatcher to track
|
||||
the function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@ -106,9 +106,9 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
unregistered, and the SMI source has been
|
||||
disabled, if there are no other registered
|
||||
child dispatch functions for this SMI
|
||||
source.
|
||||
disabled, if there are no other registered
|
||||
child dispatch functions for this SMI
|
||||
source.
|
||||
@retval EFI_INVALID_PARAMETER The handle is invalid.
|
||||
|
||||
**/
|
||||
|
@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the standby button SMI source generator.
|
||||
|
||||
The SMM Standby Button Dispatch Protocol is defined in
|
||||
The SMM Standby Button Dispatch Protocol is defined in
|
||||
the Intel Platform Innovation Framework for EFI SMM Core Interface Specification
|
||||
(SMM CIS) Version 0.9.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -76,10 +76,10 @@ VOID
|
||||
@param This The pointer to the EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL instance.
|
||||
@param DispatchFunction The function to install.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register function the Standby
|
||||
Indicates to the register function the Standby
|
||||
Button SMI phase for which to invoke the dispatch
|
||||
function.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@ -128,7 +128,7 @@ EFI_STATUS
|
||||
Provides the ability to install child handlers for the given event types.
|
||||
**/
|
||||
struct _EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL {
|
||||
///
|
||||
///
|
||||
/// Installs a child service to be dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_STANDBY_BUTTON_REGISTER Register;\
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for a given SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -73,9 +73,9 @@ VOID
|
||||
@param DispatchFunction The function to install.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register
|
||||
function the Software SMI input value for which
|
||||
function the Software SMI input value for which
|
||||
to invoke the dispatch function.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track
|
||||
@param DispatchHandle The handle generated by the dispatcher to track
|
||||
the function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@ -125,7 +125,7 @@ EFI_STATUS
|
||||
**/
|
||||
///
|
||||
/// Inconsistent with the specification here:
|
||||
/// In The Framework specification SmmCis, this definition is named as
|
||||
/// In The Framework specification SmmCis, this definition is named as
|
||||
/// _EFI_SMM_ICHN_DISPATCH_PROTOCOL by mistake.
|
||||
///
|
||||
struct _EFI_SMM_SW_DISPATCH_PROTOCOL {
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for a given Sx-state source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the USB SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
@ -38,14 +38,14 @@ typedef struct {
|
||||
///
|
||||
/// Describes whether this child handler will be invoked in response to a USB legacy
|
||||
/// emulation event, such as port-trap on the PS/2* keyboard control registers, or to a
|
||||
/// USB wake event, such as resumption from a sleep state.
|
||||
/// USB wake event, such as resumption from a sleep state.
|
||||
///
|
||||
EFI_USB_SMI_TYPE Type;
|
||||
///
|
||||
/// The device path is part of the context structure and describes the location of the
|
||||
/// particular USB host controller in the system for which this register event will occur.
|
||||
/// This location is important because of the possible integration of several USB host
|
||||
/// controllers in a system.
|
||||
/// controllers in a system.
|
||||
///
|
||||
EFI_DEVICE_PATH_PROTOCOL *Device;
|
||||
} EFI_SMM_USB_DISPATCH_CONTEXT;
|
||||
@ -74,14 +74,14 @@ VOID
|
||||
Register a child SMI source dispatch function with a parent SMM driver.
|
||||
|
||||
@param[in] This The pointer to the EFI_SMM_USB_DISPATCH_PROTOCOL instance.
|
||||
@param[in] DispatchFunction The pointer to dispatch function to be invoked
|
||||
@param[in] DispatchFunction The pointer to dispatch function to be invoked
|
||||
for this SMI source.
|
||||
@param[in] DispatchContext The pointer to the dispatch function's context.
|
||||
The caller fills this context in before calling
|
||||
the register function to indicate to the register
|
||||
function the USB SMI types for which the dispatch
|
||||
function should be invoked.
|
||||
@param[out] DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param[out] DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Intel Framework Package Reference Implementations
|
||||
#
|
||||
# This package provides definitions and libraries that comply to Intel Framework Specifications.
|
||||
# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials are licensed and made available
|
||||
# under the terms and conditions of the BSD License which accompanies this distribution.
|
||||
@ -80,7 +80,7 @@
|
||||
|
||||
## Include/Ppi/FindFv.h
|
||||
gEfiFindFvPpiGuid = { 0x36164812, 0xa023, 0x44e5, { 0xbd, 0x85, 0x05, 0xbf, 0x3c, 0x77, 0x00, 0xaa }}
|
||||
|
||||
|
||||
## Include/Ppi/S3Resume.h
|
||||
gEfiPeiS3ResumePpiGuid = { 0x4426CCB2, 0xE684, 0x4a8a, { 0xae, 0x40, 0x20, 0xd4, 0xb0, 0x25, 0xb7, 0x10 }}
|
||||
|
||||
@ -165,7 +165,7 @@
|
||||
|
||||
## Include/Protocol/SmmCpuIo.h
|
||||
gEfiSmmCpuIoGuid = { 0x5f439a0b, 0x45d8, 0x4682, {0xa4, 0xf4, 0xf0, 0x57, 0x6b, 0x51, 0x34, 0x41}}
|
||||
|
||||
|
||||
## Include/Protocol/FrameworkFormCallback.h
|
||||
gEfiFormCallbackProtocolGuid = { 0xF3E4543D, 0xCF35, 0x6CEF, { 0x35, 0xC4, 0x4F, 0xE6, 0x34, 0x4D, 0xFC, 0x54 }}
|
||||
|
||||
@ -174,9 +174,9 @@
|
||||
|
||||
## Include/Protocol/FrameworkFormBrowser.h
|
||||
gEfiFormBrowserCompatibilityProtocolGuid = { 0xfb7c852, 0xadca, 0x4853, { 0x8d, 0xf, 0xfb, 0xa7, 0x1b, 0x1c, 0xe1, 0x1a }}
|
||||
|
||||
|
||||
## Include/Protocol/FrameworkFirmwareVolumeBlock.h
|
||||
gFramerworkEfiFirmwareVolumeBlockProtocolGuid = { 0xDE28BC59, 0x6228, 0x41BD, { 0xBD, 0xF6, 0xA3, 0xB9, 0xAD, 0xB5, 0x8D, 0xA1 }}
|
||||
gFramerworkEfiFirmwareVolumeBlockProtocolGuid = { 0xDE28BC59, 0x6228, 0x41BD, { 0xBD, 0xF6, 0xA3, 0xB9, 0xAD, 0xB5, 0x8D, 0xA1 }}
|
||||
|
||||
## Include/Protocol/SmmCpuSaveState.h
|
||||
gEfiSmmCpuSaveStateProtocolGuid = { 0x21f302ad, 0x6e94, 0x471b, {0x84, 0xbc, 0xb1, 0x48, 0x0, 0x40, 0x3a, 0x1d}}
|
||||
|
@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// IntelFramework Package Localized Strings and Content.
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials are licensed and made available
|
||||
// under the terms and conditions of the BSD License which accompanies this distribution.
|
||||
@ -11,8 +11,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_PACKAGE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_PACKAGE_NAME
|
||||
#language en-US
|
||||
"IntelFramework package"
|
||||
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
/** @file
|
||||
Internal include file of DXE CPU IO Library.
|
||||
It includes all necessary protocol/library class's header file
|
||||
for implementation of IoLib library instance. It is included
|
||||
for implementation of IoLib library instance. It is included
|
||||
all source code of this library instance.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@ -163,7 +163,7 @@ MmioReadWorker (
|
||||
The caller is responsible for aligning the Address if required.
|
||||
@param Width The width of the I/O operation.
|
||||
@param Data The value to write to the I/O port.
|
||||
|
||||
|
||||
@return Data read from registers in the EFI system memory space.
|
||||
|
||||
**/
|
||||
|
@ -1,9 +1,9 @@
|
||||
/** @file
|
||||
I/O Library.
|
||||
The implementation of I/O operation for this library instance
|
||||
The implementation of I/O operation for this library instance
|
||||
are based on EFI_CPU_IO_PROTOCOL.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@ -217,7 +217,7 @@ MmioReadWorker (
|
||||
The caller is responsible for aligning the Address if required.
|
||||
@param Width The width of the I/O operation.
|
||||
@param Data The value to write to the I/O port.
|
||||
|
||||
|
||||
@return Data read from registers in the EFI system memory space.
|
||||
|
||||
**/
|
||||
@ -293,7 +293,7 @@ IoWrite8 (
|
||||
serialized.
|
||||
|
||||
If Port is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 16-bit I/O port operations are not supported, then ASSERT().
|
||||
|
||||
@param Port The I/O port to read.
|
||||
@ -351,7 +351,7 @@ IoWrite16 (
|
||||
Reads the 32-bit I/O port specified by Port. The 32-bit read value is returned.
|
||||
This function must guarantee that all I/O read and write operations are
|
||||
serialized.
|
||||
|
||||
|
||||
If Port is not aligned on a 32-bit boundary, then ASSERT().
|
||||
|
||||
If 32-bit I/O port operations are not supported, then ASSERT().
|
||||
@ -442,7 +442,7 @@ IoRead64 (
|
||||
operations are serialized.
|
||||
|
||||
If Port is not aligned on a 64-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 64-bit I/O port operations are not supported, then ASSERT().
|
||||
|
||||
@param Port The I/O port to write.
|
||||
@ -703,7 +703,7 @@ MmioWrite8 (
|
||||
operations are serialized.
|
||||
|
||||
If Address is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 16-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to read.
|
||||
@ -732,7 +732,7 @@ MmioRead16 (
|
||||
and write operations are serialized.
|
||||
|
||||
If Address is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 16-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to write.
|
||||
@ -761,7 +761,7 @@ MmioWrite16 (
|
||||
operations are serialized.
|
||||
|
||||
If Address is not aligned on a 32-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 32-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to read.
|
||||
@ -790,7 +790,7 @@ MmioRead32 (
|
||||
and write operations are serialized.
|
||||
|
||||
If Address is not aligned on a 32-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 32-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to write.
|
||||
@ -819,7 +819,7 @@ MmioWrite32 (
|
||||
operations are serialized.
|
||||
|
||||
If Address is not aligned on a 64-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 64-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to read.
|
||||
@ -848,7 +848,7 @@ MmioRead64 (
|
||||
and write operations are serialized.
|
||||
|
||||
If Address is not aligned on a 64-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If 64-bit MMIO register operations are not supported, then ASSERT().
|
||||
|
||||
@param Address The MMIO register to write.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
I/O Library MMIO Buffer Functions.
|
||||
|
||||
Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
@ -70,7 +70,7 @@ MmioReadBuffer8 (
|
||||
If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
If Length is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If Buffer is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
@param StartAddress Starting address for the MMIO region to be copied from.
|
||||
@ -173,7 +173,7 @@ MmioReadBuffer32 (
|
||||
If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().
|
||||
|
||||
If Length is not aligned on a 64-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
If Buffer is not aligned on a 64-bit boundary, then ASSERT().
|
||||
|
||||
@param StartAddress Starting address for the MMIO region to be copied from.
|
||||
|
@ -3,7 +3,7 @@
|
||||
EfiMain() is common driver entry point for all SMM driver who uses DxeSmmDriverEntryPoint
|
||||
library class.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
@ -136,9 +136,9 @@ _DriverUnloadHandler (
|
||||
{
|
||||
//
|
||||
// Call the unload handlers for all the modules.
|
||||
//
|
||||
// Note: All libraries were constructed in SMM space,
|
||||
// therefore we can not destruct them in Unload
|
||||
//
|
||||
// Note: All libraries were constructed in SMM space,
|
||||
// therefore we can not destruct them in Unload
|
||||
// handler.
|
||||
//
|
||||
return ProcessModuleUnloadList (ImageHandle);
|
||||
|
@ -3,7 +3,7 @@
|
||||
#
|
||||
# Register driver in SMRAM and wrapper driver's library constructors and entry point.
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -49,7 +49,7 @@
|
||||
gEfiLoadedImageProtocolGuid ## CONSUMES
|
||||
gEfiSmmBaseProtocolGuid ## CONSUMES
|
||||
gEfiDevicePathProtocolGuid ## CONSUMES
|
||||
|
||||
|
||||
[Depex]
|
||||
gEfiSmmBaseProtocolGuid
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This module provide help function for displaying unicode string.
|
||||
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@ -28,7 +28,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
|
||||
//
|
||||
{(CHAR16)0x1FFF, 1},
|
||||
/*
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* the same category and they are all narrow glyph. This will reduce search
|
||||
* time and table size. The merge will omit the reserved code.
|
||||
*
|
||||
@ -75,7 +75,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
|
||||
//
|
||||
{(CHAR16)0x2FFF, 1},
|
||||
/*
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* the same category and they are all narrow glyph. This will reduce search
|
||||
* time and table size. The merge will omit the reserved code.
|
||||
*
|
||||
@ -107,7 +107,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
|
||||
//
|
||||
{(CHAR16)0x33FF, 2},
|
||||
/*
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* the same category and they are all wide glyph. This will reduce search
|
||||
* time and table size. The merge will omit the reserved code.
|
||||
*
|
||||
@ -130,13 +130,13 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
|
||||
//
|
||||
{(CHAR16)0x9FFF, 2},
|
||||
/*
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* the same category and they are all wide glyph. This will reduce search
|
||||
* time and table size. The merge will omit the reserved code.
|
||||
*
|
||||
* Remove the above item if below is un-commented.
|
||||
*
|
||||
{(CHAR16)0x4DFF, 0}, // Reserved. 0x3400-0x4DBF as CJK unified ideographs
|
||||
{(CHAR16)0x4DFF, 0}, // Reserved. 0x3400-0x4DBF as CJK unified ideographs
|
||||
// extension A in ver3.0. 0x3400-0x4DFF
|
||||
{(CHAR16)0x9FFF, 2}, // CJK unified ideographs. 0x4E00-0x9FFF
|
||||
*
|
||||
@ -152,7 +152,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST UNICODE_WIDTH_ENTRY mUnicodeWidthTable[] = {
|
||||
//
|
||||
{(CHAR16)0xD7FF, 2},
|
||||
/*
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* Merge the blocks and replace them with the above entry as they fall to
|
||||
* the same category and they are all wide glyph. This will reduce search
|
||||
* time and table size. The merge will omit the reserved code.
|
||||
*
|
||||
@ -215,7 +215,7 @@ GetGlyphWidth (
|
||||
Item = NULL;
|
||||
Low = 0;
|
||||
High = (sizeof (mUnicodeWidthTable)) / (sizeof (UNICODE_WIDTH_ENTRY)) - 1;
|
||||
while (Low <= High) {
|
||||
while (Low <= High) {
|
||||
Index = (Low + High) >> 1;
|
||||
Item = &(mUnicodeWidthTable[Index]);
|
||||
if (Index == 0) {
|
||||
@ -253,13 +253,13 @@ GetGlyphWidth (
|
||||
of the Unicode characters in String can not be determined, then 0 is returned. The display
|
||||
width of String can be computed by summing the display widths of each Unicode character
|
||||
in String. Unicode characters that are narrow glyphs have a width of 1, and Unicode
|
||||
characters that are width glyphs have a width of 2.
|
||||
characters that are width glyphs have a width of 2.
|
||||
If String is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
@param String A pointer to a Null-terminated Unicode string.
|
||||
|
||||
@return The display length of the Null-terminated Unicode string specified by String.
|
||||
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
@ -289,27 +289,27 @@ UnicodeStringDisplayLength (
|
||||
}
|
||||
|
||||
/**
|
||||
Draws a dialog box to the console output device specified by
|
||||
Draws a dialog box to the console output device specified by
|
||||
ConOut defined in the EFI_SYSTEM_TABLE and waits for a keystroke
|
||||
from the console input device specified by ConIn defined in the
|
||||
from the console input device specified by ConIn defined in the
|
||||
EFI_SYSTEM_TABLE.
|
||||
|
||||
If there are no strings in the variable argument list, then ASSERT().
|
||||
If all the strings in the variable argument list are empty, then ASSERT().
|
||||
|
||||
@param[in] Attribute Specifies the foreground and background color of the popup.
|
||||
@param[out] Key A pointer to the EFI_KEY value of the key that was
|
||||
@param[out] Key A pointer to the EFI_KEY value of the key that was
|
||||
pressed. This is an optional parameter that may be NULL.
|
||||
If it is NULL then no wait for a keypress will be performed.
|
||||
@param[in] ... The variable argument list that contains pointers to Null-
|
||||
terminated Unicode strings to display in the dialog box.
|
||||
terminated Unicode strings to display in the dialog box.
|
||||
The variable argument list is terminated by a NULL.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
CreatePopUp (
|
||||
IN UINTN Attribute,
|
||||
IN UINTN Attribute,
|
||||
OUT EFI_INPUT_KEY *Key, OPTIONAL
|
||||
...
|
||||
)
|
||||
@ -330,7 +330,7 @@ CreatePopUp (
|
||||
UINTN EventIndex;
|
||||
|
||||
//
|
||||
// Determine the length of the longest line in the popup and the the total
|
||||
// Determine the length of the longest line in the popup and the the total
|
||||
// number of lines in the popup
|
||||
//
|
||||
VA_START (Args, Key);
|
||||
@ -356,7 +356,7 @@ CreatePopUp (
|
||||
// Cache a pointer to the Simple Text Output Protocol in the EFI System Table
|
||||
//
|
||||
ConOut = gST->ConOut;
|
||||
|
||||
|
||||
//
|
||||
// Save the current console cursor position and attributes
|
||||
//
|
||||
@ -396,7 +396,7 @@ CreatePopUp (
|
||||
ASSERT (Line != NULL);
|
||||
|
||||
//
|
||||
// Draw top of popup box
|
||||
// Draw top of popup box
|
||||
//
|
||||
SetMem16 (Line, (MaxLength + 2) * 2, BOXDRAW_HORIZONTAL);
|
||||
Line[0] = BOXDRAW_DOWN_RIGHT;
|
||||
|
@ -1,11 +1,11 @@
|
||||
## @file
|
||||
# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification.
|
||||
#
|
||||
# This library is helpful to port Framework/Tinao code that has conflicts with UEFI 2.0.
|
||||
# This library is helpful to port Framework/Tinao code that has conflicts with UEFI 2.0.
|
||||
# It hides the old conflicts with library functions and supporting implementations of
|
||||
# the old (EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way.
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -51,7 +51,7 @@
|
||||
BaseLib
|
||||
UefiBootServicesTableLib
|
||||
DevicePathLib
|
||||
|
||||
|
||||
[Guids]
|
||||
gEfiEventReadyToBootGuid ## SOMETIMES_CONSUMES ## Event
|
||||
gEfiEventLegacyBootGuid ## SOMETIMES_CONSUMES ## Event
|
||||
|
@ -2,29 +2,29 @@
|
||||
Library functions that abstract driver model protocols
|
||||
installation.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
**/
|
||||
|
||||
|
||||
#include "UefiLibInternal.h"
|
||||
|
||||
/**
|
||||
Installs and completes the initialization of a Driver Binding Protocol instance.
|
||||
|
||||
|
||||
Installs the Driver Binding Protocol specified by DriverBinding onto the handle
|
||||
specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding
|
||||
is installed onto a newly created handle. DriverBindingHandle is typically the same
|
||||
as the driver's ImageHandle, but it can be different if the driver produces multiple
|
||||
Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
If DriverBinding can not be installed onto a handle, then ASSERT().
|
||||
|
||||
@param ImageHandle The image handle of the driver.
|
||||
@ -80,10 +80,10 @@ EfiLibInstallDriverBinding (
|
||||
Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL,
|
||||
then the protocols are installed onto a newly created handle. DriverBindingHandle
|
||||
is typically the same as the driver's ImageHandle, but it can be different if the
|
||||
driver produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
driver produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
If the installation fails, then ASSERT().
|
||||
|
||||
|
||||
@param ImageHandle The image handle of the driver.
|
||||
@param SystemTable The EFI System Table that was passed to the driver's entry point.
|
||||
@param DriverBinding A Driver Binding Protocol instance that this driver is producing.
|
||||
@ -210,8 +210,8 @@ EfiLibInstallAllDriverProtocols (
|
||||
optional Component Name and optional Component Name 2 protocols onto the driver's
|
||||
DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed
|
||||
onto a newly created handle. DriverBindingHandle is typically the same as the driver's
|
||||
ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
If the installation fails, then ASSERT().
|
||||
|
||||
@param ImageHandle The image handle of the driver.
|
||||
@ -299,8 +299,8 @@ EfiLibInstallDriverBindingComponentName2 (
|
||||
Component Name, optional Component Name 2, optional Driver Configuration, optional Driver Configuration 2,
|
||||
optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols onto the driver's DriverBindingHandle.
|
||||
DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver
|
||||
produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
produces multiple Driver Binding Protocols.
|
||||
If DriverBinding is NULL, then ASSERT().
|
||||
If the installation fails, then ASSERT().
|
||||
|
||||
|
||||
@ -337,14 +337,14 @@ EfiLibInstallAllDriverProtocols2 (
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
|
||||
ASSERT (DriverBinding != NULL);
|
||||
ASSERT (DriverBinding != NULL);
|
||||
|
||||
//
|
||||
// Update the ImageHandle and DriverBindingHandle fields of the Driver Binding Protocol
|
||||
//
|
||||
DriverBinding->ImageHandle = ImageHandle;
|
||||
DriverBinding->DriverBindingHandle = DriverBindingHandle;
|
||||
|
||||
|
||||
if (DriverConfiguration2 == NULL) {
|
||||
if (DriverConfiguration == NULL) {
|
||||
if (DriverDiagnostics == NULL || FeaturePcdGet(PcdDriverDiagnosticsDisable)) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
/** @file
|
||||
The UEFI Library provides functions and macros that simplify the development of
|
||||
UEFI Drivers and UEFI Applications. These functions and macros help manage EFI
|
||||
events, build simple locks utilizing EFI Task Priority Levels (TPLs), install
|
||||
EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers,
|
||||
The UEFI Library provides functions and macros that simplify the development of
|
||||
UEFI Drivers and UEFI Applications. These functions and macros help manage EFI
|
||||
events, build simple locks utilizing EFI Task Priority Levels (TPLs), install
|
||||
EFI Driver Model related protocols, manage Unicode string tables for UEFI Drivers,
|
||||
and print messages on the console output and standard error devices.
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
@ -47,7 +47,7 @@ CompareIso639LanguageCode (
|
||||
/**
|
||||
Retrieves a pointer to the system configuration table from the EFI System Table
|
||||
based on a specified GUID.
|
||||
|
||||
|
||||
This function searches the list of configuration tables stored in the EFI System Table
|
||||
for a table with a GUID that matches TableGuid. If a match is found, then a pointer to
|
||||
the configuration table is returned in Table., and EFI_SUCCESS is returned. If a matching GUID
|
||||
@ -96,7 +96,7 @@ EfiGetSystemConfigurationTable (
|
||||
no instances of ProtocolGuid in the handle database at the time this function is invoked,
|
||||
then the notification function is still executed one time. In addition, every time a protocol
|
||||
of type ProtocolGuid instance is installed or reinstalled, the notification function is also
|
||||
executed. This function returns the notification event that was created.
|
||||
executed. This function returns the notification event that was created.
|
||||
If ProtocolGuid is NULL, then ASSERT().
|
||||
If NotifyTpl is not a legal TPL value, then ASSERT().
|
||||
If NotifyFunction is NULL, then ASSERT().
|
||||
@ -109,7 +109,7 @@ EfiGetSystemConfigurationTable (
|
||||
@param NotifyContext The context parameter to pass to NotifyFunction.
|
||||
@param Registration A pointer to a memory location to receive the registration value.
|
||||
This value is passed to LocateHandle() to obtain new handles that
|
||||
have been added that support the ProtocolGuid-specified protocol.
|
||||
have been added that support the ProtocolGuid-specified protocol.
|
||||
|
||||
@return The notification event that was created.
|
||||
|
||||
@ -170,7 +170,7 @@ EfiCreateProtocolNotifyEvent(
|
||||
|
||||
This function creates an event using NotifyTpl, NoifyFunction, and NotifyContext.
|
||||
This event is signaled with EfiNamedEventSignal(). This provides the ability for one or more
|
||||
listeners on the same event named by the GUID specified by Name.
|
||||
listeners on the same event named by the GUID specified by Name.
|
||||
If Name is NULL, then ASSERT().
|
||||
If NotifyTpl is not a legal TPL value, then ASSERT().
|
||||
If NotifyFunction is NULL, then ASSERT().
|
||||
@ -178,7 +178,7 @@ EfiCreateProtocolNotifyEvent(
|
||||
@param Name Supplies GUID name of the event.
|
||||
@param NotifyTpl Supplies the task priority level of the event notifications.
|
||||
@param NotifyFunction Supplies the function to notify when the event is signaled.
|
||||
@param NotifyContext The context parameter to pass to NotifyFunction.
|
||||
@param NotifyContext The context parameter to pass to NotifyFunction.
|
||||
@param Registration A pointer to a memory location to receive the registration value.
|
||||
|
||||
@retval EFI_SUCCESS A named event was created.
|
||||
@ -202,7 +202,7 @@ EfiNamedEventListen (
|
||||
ASSERT (Name != NULL);
|
||||
ASSERT (NotifyFunction != NULL);
|
||||
ASSERT (NotifyTpl <= TPL_HIGH_LEVEL);
|
||||
|
||||
|
||||
//
|
||||
// Create event
|
||||
//
|
||||
@ -343,13 +343,13 @@ EfiEventEmptyFunction (
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Returns the current TPL.
|
||||
|
||||
This function returns the current TPL. There is no EFI service to directly
|
||||
retrieve the current TPL. Instead, the RaiseTPL() function is used to raise
|
||||
the TPL to TPL_HIGH_LEVEL. This will return the current TPL. The TPL level
|
||||
can then immediately be restored back to the current TPL level with a call
|
||||
This function returns the current TPL. There is no EFI service to directly
|
||||
retrieve the current TPL. Instead, the RaiseTPL() function is used to raise
|
||||
the TPL to TPL_HIGH_LEVEL. This will return the current TPL. The TPL level
|
||||
can then immediately be restored back to the current TPL level with a call
|
||||
to RestoreTPL().
|
||||
|
||||
@return The current TPL.
|
||||
@ -373,8 +373,8 @@ EfiGetCurrentTpl (
|
||||
/**
|
||||
Initializes a basic mutual exclusion lock.
|
||||
|
||||
This function initializes a basic mutual exclusion lock to the released state
|
||||
and returns the lock. Each lock provides mutual exclusion access at its task
|
||||
This function initializes a basic mutual exclusion lock to the released state
|
||||
and returns the lock. Each lock provides mutual exclusion access at its task
|
||||
priority level. Since there is no preemption or multiprocessor support in EFI,
|
||||
acquiring the lock only consists of raising to the locks TPL.
|
||||
If Lock is NULL, then ASSERT().
|
||||
@ -405,8 +405,8 @@ EfiInitializeLock (
|
||||
/**
|
||||
Acquires ownership of a lock.
|
||||
|
||||
This function raises the system's current task priority level to the task
|
||||
priority level of the mutual exclusion lock. Then, it places the lock in the
|
||||
This function raises the system's current task priority level to the task
|
||||
priority level of the mutual exclusion lock. Then, it places the lock in the
|
||||
acquired state.
|
||||
If Lock is NULL, then ASSERT().
|
||||
If Lock is not initialized, then ASSERT().
|
||||
@ -471,8 +471,8 @@ EfiAcquireLockOrFail (
|
||||
/**
|
||||
Releases ownership of a lock.
|
||||
|
||||
This function transitions a mutual exclusion lock from the acquired state to
|
||||
the released state, and restores the system's task priority level to its
|
||||
This function transitions a mutual exclusion lock from the acquired state to
|
||||
the released state, and restores the system's task priority level to its
|
||||
previous level.
|
||||
If Lock is NULL, then ASSERT().
|
||||
If Lock is not initialized, then ASSERT().
|
||||
@ -506,7 +506,7 @@ EfiReleaseLock (
|
||||
currently managing the controller specified by ControllerHandle. This test
|
||||
is performed by evaluating if the the protocol specified by ProtocolGuid is
|
||||
present on ControllerHandle and is was opened by DriverBindingHandle with an
|
||||
attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
attribute of EFI_OPEN_PROTOCOL_BY_DRIVER.
|
||||
If ProtocolGuid is NULL, then ASSERT().
|
||||
|
||||
@param ControllerHandle A handle for a controller to test.
|
||||
@ -569,10 +569,10 @@ EfiTestManagedDevice (
|
||||
ChildHandle with an attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
|
||||
If ProtocolGuid is NULL, then ASSERT().
|
||||
|
||||
@param ControllerHandle A handle for a (parent) controller to test.
|
||||
@param ControllerHandle A handle for a (parent) controller to test.
|
||||
@param ChildHandle A child handle to test.
|
||||
@param ProtocolGuid Supplies the protocol that the child controller
|
||||
opens on its parent controller.
|
||||
opens on its parent controller.
|
||||
|
||||
@retval EFI_SUCCESS ChildHandle is a child of the ControllerHandle.
|
||||
@retval EFI_UNSUPPORTED ChildHandle is not a child of the
|
||||
@ -631,26 +631,26 @@ EfiTestChildHandle (
|
||||
UnicodeStringTable that matches the language code specified by Language, then it
|
||||
is returned in UnicodeString.
|
||||
|
||||
@param Language A pointer to the ISO 639-2 language code for the
|
||||
@param Language A pointer to the ISO 639-2 language code for the
|
||||
Unicode string to look up and return.
|
||||
@param SupportedLanguages A pointer to the set of ISO 639-2 language codes
|
||||
that the Unicode string table supports. Language
|
||||
@param SupportedLanguages A pointer to the set of ISO 639-2 language codes
|
||||
that the Unicode string table supports. Language
|
||||
must be a member of this set.
|
||||
@param UnicodeStringTable A pointer to the table of Unicode strings.
|
||||
@param UnicodeString A pointer to the Unicode string from UnicodeStringTable
|
||||
that matches the language specified by Language.
|
||||
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language
|
||||
specified by Language was found
|
||||
in the table of Unicode strings UnicodeStringTable,
|
||||
in the table of Unicode strings UnicodeStringTable,
|
||||
and it was returned in UnicodeString.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a
|
||||
member of SupportedLanguages.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not
|
||||
supported by UnicodeStringTable.
|
||||
|
||||
**/
|
||||
@ -723,7 +723,7 @@ LookupUnicodeString (
|
||||
return. If Iso639Language is TRUE, then this ASCII string is
|
||||
not assumed to be Null-terminated, and only the first three
|
||||
characters are used. If Iso639Language is FALSE, then this ASCII
|
||||
string must be Null-terminated.
|
||||
string must be Null-terminated.
|
||||
@param SupportedLanguages A pointer to a Null-terminated ASCII string that contains a
|
||||
set of ISO 639-2 or RFC 4646 language codes that the Unicode
|
||||
string table supports. Language must be a member of this set.
|
||||
@ -743,11 +743,11 @@ LookupUnicodeString (
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language specified by Language
|
||||
was found in the table of Unicode strings UnicodeStringTable, and
|
||||
it was returned in UnicodeString.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
@retval EFI_UNSUPPORTED UnicodeStringTable is NULL.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not supported by UnicodeStringTable.
|
||||
|
||||
**/
|
||||
@ -833,13 +833,13 @@ LookupUnicodeString2 (
|
||||
/**
|
||||
This function adds a Unicode string to UnicodeStringTable.
|
||||
|
||||
If Language is a member of SupportedLanguages then UnicodeString is added to
|
||||
UnicodeStringTable. New buffers are allocated for both Language and
|
||||
UnicodeString. The contents of Language and UnicodeString are copied into
|
||||
these new buffers. These buffers are automatically freed when
|
||||
If Language is a member of SupportedLanguages then UnicodeString is added to
|
||||
UnicodeStringTable. New buffers are allocated for both Language and
|
||||
UnicodeString. The contents of Language and UnicodeString are copied into
|
||||
these new buffers. These buffers are automatically freed when
|
||||
FreeUnicodeStringTable() is called.
|
||||
|
||||
@param Language A pointer to the ISO 639-2 language code for the Unicode
|
||||
@param Language A pointer to the ISO 639-2 language code for the Unicode
|
||||
string to add.
|
||||
@param SupportedLanguages A pointer to the set of ISO 639-2 language codes
|
||||
that the Unicode string table supports.
|
||||
@ -847,19 +847,19 @@ LookupUnicodeString2 (
|
||||
@param UnicodeStringTable A pointer to the table of Unicode strings.
|
||||
@param UnicodeString A pointer to the Unicode string to add.
|
||||
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language
|
||||
specified by Language was found in the table of
|
||||
Unicode strings UnicodeStringTable, and it was
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language
|
||||
specified by Language was found in the table of
|
||||
Unicode strings UnicodeStringTable, and it was
|
||||
returned in UnicodeString.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
@retval EFI_ALREADY_STARTED A Unicode string with language Language is
|
||||
@retval EFI_ALREADY_STARTED A Unicode string with language Language is
|
||||
already present in UnicodeStringTable.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another
|
||||
Unicode string to UnicodeStringTable.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a
|
||||
member of SupportedLanguages.
|
||||
|
||||
**/
|
||||
@ -1022,21 +1022,21 @@ AddUnicodeString (
|
||||
RFC 4646 language codes separated by ';'.
|
||||
@param UnicodeStringTable A pointer to the table of Unicode strings. Type EFI_UNICODE_STRING_TABLE
|
||||
is defined in "Related Definitions".
|
||||
@param UnicodeString A pointer to the Unicode string to add.
|
||||
@param UnicodeString A pointer to the Unicode string to add.
|
||||
@param Iso639Language Specifies the supported language code format. If it is TRUE,
|
||||
then Language and SupportedLanguages follow ISO 639-2 language code format.
|
||||
Otherwise, they follow RFC 4646 language code format.
|
||||
|
||||
@retval EFI_SUCCESS The Unicode string that matches the language specified by
|
||||
Language was found in the table of Unicode strings UnicodeStringTable,
|
||||
and it was returned in UnicodeString.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
and it was returned in UnicodeString.
|
||||
@retval EFI_INVALID_PARAMETER Language is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is NULL.
|
||||
@retval EFI_INVALID_PARAMETER UnicodeString is an empty string.
|
||||
@retval EFI_UNSUPPORTED SupportedLanguages is NULL.
|
||||
@retval EFI_ALREADY_STARTED A Unicode string with language Language is already present in
|
||||
UnicodeStringTable.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
|
||||
UnicodeStringTable.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory to add another Unicode string UnicodeStringTable.
|
||||
@retval EFI_UNSUPPORTED The language specified by Language is not a member of SupportedLanguages.
|
||||
|
||||
**/
|
||||
@ -1120,7 +1120,7 @@ AddUnicodeString2 (
|
||||
while (*LanguageString != 0) {
|
||||
for (Index = 0; LanguageString[Index] != 0 && LanguageString[Index] != ';'; Index++);
|
||||
|
||||
if (AsciiStrnCmp (Language, LanguageString, Index) == 0) {
|
||||
if (AsciiStrnCmp (Language, LanguageString, Index) == 0) {
|
||||
return EFI_ALREADY_STARTED;
|
||||
}
|
||||
LanguageString += Index;
|
||||
@ -1202,7 +1202,7 @@ AddUnicodeString2 (
|
||||
This function frees the table of Unicode strings in UnicodeStringTable.
|
||||
|
||||
If UnicodeStringTable is NULL, then EFI_SUCCESS is returned.
|
||||
Otherwise, each language code, and each Unicode string in the Unicode string
|
||||
Otherwise, each language code, and each Unicode string in the Unicode string
|
||||
table are freed, and EFI_SUCCESS is returned.
|
||||
|
||||
@param UnicodeStringTable A pointer to the table of Unicode strings.
|
||||
@ -1252,8 +1252,8 @@ FreeUnicodeStringTable (
|
||||
}
|
||||
|
||||
/**
|
||||
Returns a pointer to an allocated buffer that contains the contents of a
|
||||
variable retrieved through the UEFI Runtime Service GetVariable(). The
|
||||
Returns a pointer to an allocated buffer that contains the contents of a
|
||||
variable retrieved through the UEFI Runtime Service GetVariable(). The
|
||||
returned buffer is allocated using AllocatePool(). The caller is responsible
|
||||
for freeing this buffer with FreePool().
|
||||
|
||||
@ -1314,10 +1314,10 @@ GetVariable (
|
||||
|
||||
|
||||
/**
|
||||
Returns a pointer to an allocated buffer that contains the contents of a
|
||||
variable retrieved through the UEFI Runtime Service GetVariable(). This
|
||||
Returns a pointer to an allocated buffer that contains the contents of a
|
||||
variable retrieved through the UEFI Runtime Service GetVariable(). This
|
||||
function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.
|
||||
The returned buffer is allocated using AllocatePool(). The caller is
|
||||
The returned buffer is allocated using AllocatePool(). The caller is
|
||||
responsible for freeing this buffer with FreePool().
|
||||
|
||||
If Name is NULL, then ASSERT().
|
||||
@ -1442,50 +1442,50 @@ GetEfiGlobalVariable2 (
|
||||
}
|
||||
|
||||
/**
|
||||
Returns a pointer to an allocated buffer that contains the best matching language
|
||||
from a set of supported languages.
|
||||
|
||||
This function supports both ISO 639-2 and RFC 4646 language codes, but language
|
||||
code types may not be mixed in a single call to this function. The language
|
||||
code returned is allocated using AllocatePool(). The caller is responsible for
|
||||
Returns a pointer to an allocated buffer that contains the best matching language
|
||||
from a set of supported languages.
|
||||
|
||||
This function supports both ISO 639-2 and RFC 4646 language codes, but language
|
||||
code types may not be mixed in a single call to this function. The language
|
||||
code returned is allocated using AllocatePool(). The caller is responsible for
|
||||
freeing the allocated buffer using FreePool(). This function supports a variable
|
||||
argument list that allows the caller to pass in a prioritized list of language
|
||||
codes to test against all the language codes in SupportedLanguages.
|
||||
argument list that allows the caller to pass in a prioritized list of language
|
||||
codes to test against all the language codes in SupportedLanguages.
|
||||
|
||||
If SupportedLanguages is NULL, then ASSERT().
|
||||
|
||||
@param[in] SupportedLanguages A pointer to a Null-terminated ASCII string that
|
||||
contains a set of language codes in the format
|
||||
contains a set of language codes in the format
|
||||
specified by Iso639Language.
|
||||
@param[in] Iso639Language If not zero, then all language codes are assumed to be
|
||||
in ISO 639-2 format. If zero, then all language
|
||||
codes are assumed to be in RFC 4646 language format
|
||||
@param[in] ... A variable argument list that contains pointers to
|
||||
@param[in] ... A variable argument list that contains pointers to
|
||||
Null-terminated ASCII strings that contain one or more
|
||||
language codes in the format specified by Iso639Language.
|
||||
The first language code from each of these language
|
||||
code lists is used to determine if it is an exact or
|
||||
close match to any of the language codes in
|
||||
close match to any of the language codes in
|
||||
SupportedLanguages. Close matches only apply to RFC 4646
|
||||
language codes, and the matching algorithm from RFC 4647
|
||||
is used to determine if a close match is present. If
|
||||
is used to determine if a close match is present. If
|
||||
an exact or close match is found, then the matching
|
||||
language code from SupportedLanguages is returned. If
|
||||
no matches are found, then the next variable argument
|
||||
parameter is evaluated. The variable argument list
|
||||
parameter is evaluated. The variable argument list
|
||||
is terminated by a NULL.
|
||||
|
||||
@retval NULL The best matching language could not be found in SupportedLanguages.
|
||||
@retval NULL There are not enough resources available to return the best matching
|
||||
@retval NULL There are not enough resources available to return the best matching
|
||||
language.
|
||||
@retval Other A pointer to a Null-terminated ASCII string that is the best matching
|
||||
@retval Other A pointer to a Null-terminated ASCII string that is the best matching
|
||||
language in SupportedLanguages.
|
||||
|
||||
**/
|
||||
CHAR8 *
|
||||
EFIAPI
|
||||
GetBestLanguage (
|
||||
IN CONST CHAR8 *SupportedLanguages,
|
||||
IN CONST CHAR8 *SupportedLanguages,
|
||||
IN UINTN Iso639Language,
|
||||
...
|
||||
)
|
||||
@ -1564,7 +1564,7 @@ GetBestLanguage (
|
||||
LanguageLength = 0;
|
||||
} else {
|
||||
//
|
||||
// If RFC 4646 mode, then trim Language from the right to the next '-' character
|
||||
// If RFC 4646 mode, then trim Language from the right to the next '-' character
|
||||
//
|
||||
for (LanguageLength--; LanguageLength > 0 && Language[LanguageLength] != '-'; LanguageLength--);
|
||||
}
|
||||
@ -1573,7 +1573,7 @@ GetBestLanguage (
|
||||
VA_END (Args);
|
||||
|
||||
//
|
||||
// No matches were found
|
||||
// No matches were found
|
||||
//
|
||||
return NULL;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
Mde UEFI library API implementation.
|
||||
Print to StdErr or ConOut defined in EFI_SYSTEM_TABLE
|
||||
|
||||
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
@ -90,23 +90,23 @@ InternalPrint (
|
||||
return Return;
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted Unicode string to the console output device specified by
|
||||
/**
|
||||
Prints a formatted Unicode string to the console output device specified by
|
||||
ConOut defined in the EFI_SYSTEM_TABLE.
|
||||
|
||||
This function prints a formatted Unicode string to the console output device
|
||||
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of Unicode
|
||||
characters that printed to ConOut. If the length of the formatted Unicode
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
This function prints a formatted Unicode string to the console output device
|
||||
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of Unicode
|
||||
characters that printed to ConOut. If the length of the formatted Unicode
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||
If Format is NULL, then ASSERT().
|
||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||
If gST->ConOut is NULL, then ASSERT().
|
||||
|
||||
@param Format Null-terminated Unicode format string.
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
on the format string specified by Format.
|
||||
|
||||
|
||||
@return Number of Unicode characters printed to ConOut.
|
||||
|
||||
**/
|
||||
@ -129,23 +129,23 @@ Print (
|
||||
return Return;
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted Unicode string to the console output device specified by
|
||||
/**
|
||||
Prints a formatted Unicode string to the console output device specified by
|
||||
StdErr defined in the EFI_SYSTEM_TABLE.
|
||||
|
||||
This function prints a formatted Unicode string to the console output device
|
||||
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of Unicode
|
||||
characters that printed to StdErr. If the length of the formatted Unicode
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
This function prints a formatted Unicode string to the console output device
|
||||
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of Unicode
|
||||
characters that printed to StdErr. If the length of the formatted Unicode
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||
If Format is NULL, then ASSERT().
|
||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||
If gST->StdErr is NULL, then ASSERT().
|
||||
|
||||
@param Format Null-terminated Unicode format string.
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
on the format string specified by Format.
|
||||
|
||||
|
||||
@return Number of Unicode characters printed to StdErr.
|
||||
|
||||
**/
|
||||
@ -225,22 +225,22 @@ AsciiInternalPrint (
|
||||
return Return;
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted ASCII string to the console output device specified by
|
||||
/**
|
||||
Prints a formatted ASCII string to the console output device specified by
|
||||
ConOut defined in the EFI_SYSTEM_TABLE.
|
||||
|
||||
This function prints a formatted ASCII string to the console output device
|
||||
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of ASCII
|
||||
characters that printed to ConOut. If the length of the formatted ASCII
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
This function prints a formatted ASCII string to the console output device
|
||||
specified by ConOut in EFI_SYSTEM_TABLE and returns the number of ASCII
|
||||
characters that printed to ConOut. If the length of the formatted ASCII
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are sent to ConOut.
|
||||
If Format is NULL, then ASSERT().
|
||||
If gST->ConOut is NULL, then ASSERT().
|
||||
|
||||
@param Format Null-terminated ASCII format string.
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
on the format string specified by Format.
|
||||
|
||||
|
||||
@return Number of ASCII characters printed to ConOut.
|
||||
|
||||
**/
|
||||
@ -264,22 +264,22 @@ AsciiPrint (
|
||||
return Return;
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted ASCII string to the console output device specified by
|
||||
/**
|
||||
Prints a formatted ASCII string to the console output device specified by
|
||||
StdErr defined in the EFI_SYSTEM_TABLE.
|
||||
|
||||
This function prints a formatted ASCII string to the console output device
|
||||
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of ASCII
|
||||
characters that printed to StdErr. If the length of the formatted ASCII
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
This function prints a formatted ASCII string to the console output device
|
||||
specified by StdErr in EFI_SYSTEM_TABLE and returns the number of ASCII
|
||||
characters that printed to StdErr. If the length of the formatted ASCII
|
||||
string is greater than PcdUefiLibMaxPrintBufferSize, then only the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are sent to StdErr.
|
||||
If Format is NULL, then ASSERT().
|
||||
If gST->StdErr is NULL, then ASSERT().
|
||||
|
||||
@param Format Null-terminated ASCII format string.
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
@param ... Variable argument list whose contents are accessed based
|
||||
on the format string specified by Format.
|
||||
|
||||
|
||||
@return Number of ASCII characters printed to ConErr.
|
||||
|
||||
**/
|
||||
@ -560,24 +560,24 @@ Error:
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted Unicode string to a graphics console device specified by
|
||||
Prints a formatted Unicode string to a graphics console device specified by
|
||||
ConsoleOutputHandle defined in the EFI_SYSTEM_TABLE at the given (X,Y) coordinates.
|
||||
|
||||
This function prints a formatted Unicode string to the graphics console device
|
||||
specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of
|
||||
Unicode characters displayed, not including partial characters that may be clipped
|
||||
This function prints a formatted Unicode string to the graphics console device
|
||||
specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of
|
||||
Unicode characters displayed, not including partial characters that may be clipped
|
||||
by the right edge of the display. If the length of the formatted Unicode string is
|
||||
greater than PcdUefiLibMaxPrintBufferSize, then at most the first
|
||||
greater than PcdUefiLibMaxPrintBufferSize, then at most the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are printed.The EFI_HII_FONT_PROTOCOL
|
||||
StringToImage() service is used to convert the string to a bitmap using the glyphs
|
||||
registered with the HII database. No wrapping is performed, so any portions of the
|
||||
string the fall outside the active display region will not be displayed. Please see
|
||||
StringToImage() service is used to convert the string to a bitmap using the glyphs
|
||||
registered with the HII database. No wrapping is performed, so any portions of the
|
||||
string the fall outside the active display region will not be displayed. Please see
|
||||
Section 27.2.6 of the UEFI Specification for a description of the supported string
|
||||
format including the set of control codes supported by the StringToImage() service.
|
||||
|
||||
If a graphics console device is not associated with the ConsoleOutputHandle
|
||||
If a graphics console device is not associated with the ConsoleOutputHandle
|
||||
defined in the EFI_SYSTEM_TABLE then no string is printed, and 0 is returned.
|
||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||
string is printed, and 0 is returned.
|
||||
If Format is NULL, then ASSERT().
|
||||
If Format is not aligned on a 16-bit boundary, then ASSERT().
|
||||
@ -590,13 +590,13 @@ Error:
|
||||
then the foreground color of the current ConOut device
|
||||
in the EFI_SYSTEM_TABLE is used.
|
||||
@param BackGround The background color of the string being printed. This is
|
||||
an optional parameter that may be NULL. If it is NULL,
|
||||
an optional parameter that may be NULL. If it is NULL,
|
||||
then the background color of the current ConOut device
|
||||
in the EFI_SYSTEM_TABLE is used.
|
||||
@param Format Null-terminated Unicode format string. See Print Library
|
||||
@param Format Null-terminated Unicode format string. See Print Library
|
||||
for the supported format string syntax.
|
||||
@param ... Variable argument list whose contents are accessed based on
|
||||
the format string specified by Format.
|
||||
@param ... Variable argument list whose contents are accessed based on
|
||||
the format string specified by Format.
|
||||
|
||||
@return The number of Unicode characters printed.
|
||||
|
||||
@ -640,24 +640,24 @@ PrintXY (
|
||||
}
|
||||
|
||||
/**
|
||||
Prints a formatted ASCII string to a graphics console device specified by
|
||||
Prints a formatted ASCII string to a graphics console device specified by
|
||||
ConsoleOutputHandle defined in the EFI_SYSTEM_TABLE at the given (X,Y) coordinates.
|
||||
|
||||
This function prints a formatted ASCII string to the graphics console device
|
||||
specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of
|
||||
ASCII characters displayed, not including partial characters that may be clipped
|
||||
This function prints a formatted ASCII string to the graphics console device
|
||||
specified by ConsoleOutputHandle in EFI_SYSTEM_TABLE and returns the number of
|
||||
ASCII characters displayed, not including partial characters that may be clipped
|
||||
by the right edge of the display. If the length of the formatted ASCII string is
|
||||
greater than PcdUefiLibMaxPrintBufferSize, then at most the first
|
||||
greater than PcdUefiLibMaxPrintBufferSize, then at most the first
|
||||
PcdUefiLibMaxPrintBufferSize characters are printed.The EFI_HII_FONT_PROTOCOL
|
||||
StringToImage() service is used to convert the string to a bitmap using the glyphs
|
||||
registered with the HII database. No wrapping is performed, so any portions of the
|
||||
string the fall outside the active display region will not be displayed. Please see
|
||||
StringToImage() service is used to convert the string to a bitmap using the glyphs
|
||||
registered with the HII database. No wrapping is performed, so any portions of the
|
||||
string the fall outside the active display region will not be displayed. Please see
|
||||
Section 27.2.6 of the UEFI Specification for a description of the supported string
|
||||
format including the set of control codes supported by the StringToImage() service.
|
||||
|
||||
If a graphics console device is not associated with the ConsoleOutputHandle
|
||||
If a graphics console device is not associated with the ConsoleOutputHandle
|
||||
defined in the EFI_SYSTEM_TABLE then no string is printed, and 0 is returned.
|
||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||
If the EFI_HII_FONT_PROTOCOL is not present in the handle database, then no
|
||||
string is printed, and 0 is returned.
|
||||
If Format is NULL, then ASSERT().
|
||||
If gST->ConsoleOutputHandle is NULL, then ASSERT().
|
||||
@ -669,13 +669,13 @@ PrintXY (
|
||||
then the foreground color of the current ConOut device
|
||||
in the EFI_SYSTEM_TABLE is used.
|
||||
@param BackGround The background color of the string being printed. This is
|
||||
an optional parameter that may be NULL. If it is NULL,
|
||||
an optional parameter that may be NULL. If it is NULL,
|
||||
then the background color of the current ConOut device
|
||||
in the EFI_SYSTEM_TABLE is used.
|
||||
@param Format Null-terminated ASCII format string. See Print Library
|
||||
@param Format Null-terminated ASCII format string. See Print Library
|
||||
for the supported format string syntax.
|
||||
@param ... Variable argument list whose contents are accessed based on
|
||||
the format string specified by Format.
|
||||
@param ... Variable argument list whose contents are accessed based on
|
||||
the format string specified by Format.
|
||||
|
||||
@return The number of ASCII characters printed.
|
||||
|
||||
@ -717,25 +717,25 @@ AsciiPrintXY (
|
||||
return ReturnNum;
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Appends a formatted Unicode string to a Null-terminated Unicode string
|
||||
|
||||
This function appends a formatted Unicode string to the Null-terminated
|
||||
|
||||
This function appends a formatted Unicode string to the Null-terminated
|
||||
Unicode string specified by String. String is optional and may be NULL.
|
||||
Storage for the formatted Unicode string returned is allocated using
|
||||
Storage for the formatted Unicode string returned is allocated using
|
||||
AllocatePool(). The pointer to the appended string is returned. The caller
|
||||
is responsible for freeing the returned string.
|
||||
|
||||
|
||||
If String is not NULL and not aligned on a 16-bit boundary, then ASSERT().
|
||||
If FormatString is NULL, then ASSERT().
|
||||
If FormatString is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
@param[in] String A Null-terminated Unicode string.
|
||||
@param[in] FormatString A Null-terminated Unicode format string.
|
||||
@param[in] Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@retval NULL There was not enough available memory.
|
||||
@return Null-terminated Unicode string is that is the formatted
|
||||
@return Null-terminated Unicode string is that is the formatted
|
||||
string appended to String.
|
||||
**/
|
||||
CHAR16*
|
||||
@ -780,27 +780,27 @@ CatVSPrint (
|
||||
return (BufferToReturn);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
Appends a formatted Unicode string to a Null-terminated Unicode string
|
||||
|
||||
This function appends a formatted Unicode string to the Null-terminated
|
||||
|
||||
This function appends a formatted Unicode string to the Null-terminated
|
||||
Unicode string specified by String. String is optional and may be NULL.
|
||||
Storage for the formatted Unicode string returned is allocated using
|
||||
Storage for the formatted Unicode string returned is allocated using
|
||||
AllocatePool(). The pointer to the appended string is returned. The caller
|
||||
is responsible for freeing the returned string.
|
||||
|
||||
|
||||
If String is not NULL and not aligned on a 16-bit boundary, then ASSERT().
|
||||
If FormatString is NULL, then ASSERT().
|
||||
If FormatString is not aligned on a 16-bit boundary, then ASSERT().
|
||||
|
||||
|
||||
@param[in] String A Null-terminated Unicode string.
|
||||
@param[in] FormatString A Null-terminated Unicode format string.
|
||||
@param[in] ... The variable argument list whose contents are
|
||||
accessed based on the format string specified by
|
||||
@param[in] ... The variable argument list whose contents are
|
||||
accessed based on the format string specified by
|
||||
FormatString.
|
||||
|
||||
@retval NULL There was not enough available memory.
|
||||
@return Null-terminated Unicode string is that is the formatted
|
||||
@return Null-terminated Unicode string is that is the formatted
|
||||
string appended to String.
|
||||
**/
|
||||
CHAR16 *
|
||||
|
@ -6,7 +6,7 @@
|
||||
(EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way. This module is a DXE driver as
|
||||
it contains DXE enum extensions for EFI event services.
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
@ -276,7 +276,7 @@ EfiGetNameGuidFromFwVolDevicePathNode (
|
||||
ASSERT (FvDevicePathNode != NULL);
|
||||
|
||||
//
|
||||
// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
|
||||
// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
|
||||
// In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
|
||||
// EFI 1.10 and UEFI 2.10.
|
||||
//
|
||||
@ -314,14 +314,14 @@ EfiInitializeFwVolDevicepathNode (
|
||||
ASSERT (NameGuid != NULL);
|
||||
|
||||
//
|
||||
// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
|
||||
// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
|
||||
// In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
|
||||
// EFI 1.10 and UEFI 2.10.
|
||||
//
|
||||
FvDevicePathNode->Header.Type = MEDIA_DEVICE_PATH;
|
||||
FvDevicePathNode->Header.SubType = MEDIA_PIWG_FW_FILE_DP;
|
||||
SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));
|
||||
|
||||
|
||||
CopyGuid (&FvDevicePathNode->FvFileName, NameGuid);
|
||||
}
|
||||
|
||||
|
@ -3,9 +3,9 @@
|
||||
|
||||
HOB Library implementation that uses PEI Services to retrieve the HOB List.
|
||||
This library instance uses EFI_HOB_TYPE_CV defined in Intel framework HOB specification v0.9
|
||||
to implement HobLib BuildCvHob() API.
|
||||
to implement HobLib BuildCvHob() API.
|
||||
|
||||
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
@ -29,15 +29,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Returns the pointer to the HOB list.
|
||||
|
||||
This function returns the pointer to first HOB in the list.
|
||||
For PEI phase, the PEI service GetHobList() can be used to retrieve the pointer
|
||||
For PEI phase, the PEI service GetHobList() can be used to retrieve the pointer
|
||||
to the HOB list. For the DXE phase, the HOB list pointer can be retrieved through
|
||||
the EFI System Table by looking up theHOB list GUID in the System Configuration Table.
|
||||
Since the System Configuration Table does not exist that the time the DXE Core is
|
||||
launched, the DXE Core uses a global variable from the DXE Core Entry Point Library
|
||||
Since the System Configuration Table does not exist that the time the DXE Core is
|
||||
launched, the DXE Core uses a global variable from the DXE Core Entry Point Library
|
||||
to manage the pointer to the HOB list.
|
||||
|
||||
|
||||
If the pointer to the HOB list is NULL, then ASSERT().
|
||||
|
||||
|
||||
@return The pointer to the HOB list.
|
||||
|
||||
**/
|
||||
@ -60,12 +60,12 @@ GetHobList (
|
||||
/**
|
||||
Returns the next instance of a HOB type from the starting HOB.
|
||||
|
||||
This function searches the first instance of a HOB type from the starting HOB pointer.
|
||||
This function searches the first instance of a HOB type from the starting HOB pointer.
|
||||
If there does not exist such HOB type from the starting HOB pointer, it will return NULL.
|
||||
In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer
|
||||
unconditionally: it returns HobStart back if HobStart itself meets the requirement;
|
||||
caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.
|
||||
|
||||
|
||||
If HobStart is NULL, then ASSERT().
|
||||
|
||||
@param Type The HOB type to return.
|
||||
@ -84,7 +84,7 @@ GetNextHob (
|
||||
EFI_PEI_HOB_POINTERS Hob;
|
||||
|
||||
ASSERT (HobStart != NULL);
|
||||
|
||||
|
||||
Hob.Raw = (UINT8 *) HobStart;
|
||||
//
|
||||
// Parse the HOB list until end of list or matching type is found.
|
||||
@ -101,9 +101,9 @@ GetNextHob (
|
||||
/**
|
||||
Returns the first instance of a HOB type among the whole HOB list.
|
||||
|
||||
This function searches the first instance of a HOB type among the whole HOB list.
|
||||
If there does not exist such HOB type in the HOB list, it will return NULL.
|
||||
|
||||
This function searches the first instance of a HOB type among the whole HOB list.
|
||||
If there does not exist such HOB type in the HOB list, it will return NULL.
|
||||
|
||||
If the pointer to the HOB list is NULL, then ASSERT().
|
||||
|
||||
@param Type The HOB type to return.
|
||||
@ -125,17 +125,17 @@ GetFirstHob (
|
||||
|
||||
/**
|
||||
Returns the next instance of the matched GUID HOB from the starting HOB.
|
||||
|
||||
This function searches the first instance of a HOB from the starting HOB pointer.
|
||||
Such HOB should satisfy two conditions:
|
||||
its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.
|
||||
If there does not exist such HOB from the starting HOB pointer, it will return NULL.
|
||||
|
||||
This function searches the first instance of a HOB from the starting HOB pointer.
|
||||
Such HOB should satisfy two conditions:
|
||||
its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.
|
||||
If there does not exist such HOB from the starting HOB pointer, it will return NULL.
|
||||
Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()
|
||||
to extract the data section and its size info respectively.
|
||||
In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer
|
||||
unconditionally: it returns HobStart back if HobStart itself meets the requirement;
|
||||
caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.
|
||||
|
||||
|
||||
If Guid is NULL, then ASSERT().
|
||||
If HobStart is NULL, then ASSERT().
|
||||
|
||||
@ -166,14 +166,14 @@ GetNextGuidHob (
|
||||
|
||||
/**
|
||||
Returns the first instance of the matched GUID HOB among the whole HOB list.
|
||||
|
||||
This function searches the first instance of a HOB among the whole HOB list.
|
||||
|
||||
This function searches the first instance of a HOB among the whole HOB list.
|
||||
Such HOB should satisfy two conditions:
|
||||
its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.
|
||||
If there does not exist such HOB from the starting HOB pointer, it will return NULL.
|
||||
Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()
|
||||
to extract the data section and its size info respectively.
|
||||
|
||||
|
||||
If the pointer to the HOB list is NULL, then ASSERT().
|
||||
If Guid is NULL, then ASSERT().
|
||||
|
||||
@ -197,11 +197,11 @@ GetFirstGuidHob (
|
||||
/**
|
||||
Get the system boot mode from the HOB list.
|
||||
|
||||
This function returns the system boot mode information from the
|
||||
This function returns the system boot mode information from the
|
||||
PHIT HOB in HOB list.
|
||||
|
||||
If the pointer to the HOB list is NULL, then ASSERT().
|
||||
|
||||
|
||||
@param VOID
|
||||
|
||||
@return The Boot Mode.
|
||||
@ -261,7 +261,7 @@ InternalPeiCreateHob (
|
||||
This function builds a HOB for a loaded PE32 module.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If ModuleName is NULL, then ASSERT().
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@ -299,7 +299,7 @@ BuildModuleHob (
|
||||
// Zero the reserved space to match HOB spec
|
||||
//
|
||||
ZeroMem (Hob->MemoryAllocationHeader.Reserved, sizeof (Hob->MemoryAllocationHeader.Reserved));
|
||||
|
||||
|
||||
CopyGuid (&Hob->ModuleName, ModuleName);
|
||||
Hob->EntryPoint = EntryPoint;
|
||||
}
|
||||
@ -310,7 +310,7 @@ BuildModuleHob (
|
||||
This function builds a HOB that describes a chunk of system memory.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param ResourceType The type of resource described by this HOB.
|
||||
@ -351,7 +351,7 @@ BuildResourceDescriptorWithOwnerHob (
|
||||
This function builds a HOB that describes a chunk of system memory.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param ResourceType The type of resource described by this HOB.
|
||||
@ -384,15 +384,15 @@ BuildResourceDescriptorHob (
|
||||
}
|
||||
|
||||
/**
|
||||
Builds a customized HOB tagged with a GUID for identification and returns
|
||||
Builds a customized HOB tagged with a GUID for identification and returns
|
||||
the start address of GUID HOB data.
|
||||
|
||||
This function builds a customized HOB tagged with a GUID for identification
|
||||
and returns the start address of GUID HOB data so that caller can fill the customized data.
|
||||
This function builds a customized HOB tagged with a GUID for identification
|
||||
and returns the start address of GUID HOB data so that caller can fill the customized data.
|
||||
The HOB Header and Name field is already stripped.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If Guid is NULL, then ASSERT().
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().
|
||||
@ -417,7 +417,7 @@ BuildGuidHob (
|
||||
// Make sure Guid is valid
|
||||
//
|
||||
ASSERT (Guid != NULL);
|
||||
|
||||
|
||||
//
|
||||
// Make sure that data length is not too long.
|
||||
//
|
||||
@ -432,16 +432,16 @@ BuildGuidHob (
|
||||
}
|
||||
|
||||
/**
|
||||
Builds a customized HOB tagged with a GUID for identification, copies the input data to the HOB
|
||||
Builds a customized HOB tagged with a GUID for identification, copies the input data to the HOB
|
||||
data field, and returns the start address of the GUID HOB data.
|
||||
|
||||
This function builds a customized HOB tagged with a GUID for identification and copies the input
|
||||
data to the HOB data field and returns the start address of the GUID HOB data. It can only be
|
||||
invoked during PEI phase; for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
data to the HOB data field and returns the start address of the GUID HOB data. It can only be
|
||||
invoked during PEI phase; for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
The HOB Header and Name field is already stripped.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If Guid is NULL, then ASSERT().
|
||||
If Data is NULL and DataLength > 0, then ASSERT().
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
@ -537,7 +537,7 @@ InternalCheckFvAlignment (
|
||||
This function builds a Firmware Volume HOB.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
If the FvImage buffer is not at its required alignment, then ASSERT().
|
||||
|
||||
@ -574,7 +574,7 @@ BuildFvHob (
|
||||
This function builds a EFI_HOB_TYPE_FV2 HOB.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
If the FvImage buffer is not at its required alignment, then ASSERT().
|
||||
|
||||
@ -582,7 +582,7 @@ BuildFvHob (
|
||||
@param Length The size of the Firmware Volume in bytes.
|
||||
@param FvName The name of the Firmware Volume.
|
||||
@param FileName The name of the file.
|
||||
|
||||
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
@ -671,7 +671,7 @@ BuildFv3Hob (
|
||||
This function builds a Capsule Volume HOB.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If the platform does not support Capsule Volume HOBs, then ASSERT().
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@ -703,7 +703,7 @@ BuildCvHob (
|
||||
This function builds a HOB for the CPU.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param SizeOfMemorySpace The maximum physical memory addressability of the processor.
|
||||
@ -730,7 +730,7 @@ BuildCpuHob (
|
||||
//
|
||||
// Zero the reserved space to match HOB spec
|
||||
//
|
||||
ZeroMem (Hob->Reserved, sizeof (Hob->Reserved));
|
||||
ZeroMem (Hob->Reserved, sizeof (Hob->Reserved));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -739,7 +739,7 @@ BuildCpuHob (
|
||||
This function builds a HOB for the stack.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param BaseAddress The 64 bit physical address of the Stack.
|
||||
@ -780,7 +780,7 @@ BuildStackHob (
|
||||
This function builds a HOB for BSP store.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param BaseAddress The 64 bit physical address of the BSP.
|
||||
@ -823,7 +823,7 @@ BuildBspStoreHob (
|
||||
This function builds a HOB for the memory allocation.
|
||||
It can only be invoked during PEI phase;
|
||||
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||
|
||||
|
||||
If there is no additional space for HOB creation, then ASSERT().
|
||||
|
||||
@param BaseAddress The 64 bit physical address of the memory.
|
||||
@ -843,12 +843,12 @@ BuildMemoryAllocationHob (
|
||||
|
||||
ASSERT (((BaseAddress & (EFI_PAGE_SIZE - 1)) == 0) &&
|
||||
((Length & (EFI_PAGE_SIZE - 1)) == 0));
|
||||
|
||||
|
||||
Hob = InternalPeiCreateHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, (UINT16) sizeof (EFI_HOB_MEMORY_ALLOCATION));
|
||||
if (Hob == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
ZeroMem (&(Hob->AllocDescriptor.Name), sizeof (EFI_GUID));
|
||||
Hob->AllocDescriptor.MemoryBaseAddress = BaseAddress;
|
||||
Hob->AllocDescriptor.MemoryLength = Length;
|
||||
|
@ -3,9 +3,9 @@
|
||||
#
|
||||
# HOB Library implementation that uses PEI Services to retrieve the HOB List.
|
||||
# This library instance uses EFI_HOB_TYPE_CV defined in Intel framework HOB specification v0.9
|
||||
# to implement HobLib BuildCvHob() API.
|
||||
# to implement HobLib BuildCvHob() API.
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -54,5 +54,5 @@
|
||||
# MEMORY_ALLOCATION ## SOMETIMES_PRODUCES
|
||||
# RESOURCE_DESCRIPTOR ## SOMETIMES_PRODUCES
|
||||
# FIRMWARE_VOLUME ## SOMETIMES_PRODUCES
|
||||
#
|
||||
#
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
Internal header file for Smbus library.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@ -46,7 +46,7 @@ InternalGetSmbusPpi (
|
||||
);
|
||||
|
||||
/**
|
||||
Executes an SMBus operation to an SMBus controller.
|
||||
Executes an SMBus operation to an SMBus controller.
|
||||
|
||||
This function provides a standard way to execute Smbus script
|
||||
as defined in the SmBus Specification. The data can either be of
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
Implementation of SmBusLib class library for PEI phase.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
@ -19,14 +19,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
This internal function retrieves Smbus PPI from PPI database.
|
||||
If gEfiPeiSmbusPpiGuid can not be located, then ASSERT()
|
||||
|
||||
|
||||
@return The pointer to Smbus PPI.
|
||||
|
||||
**/
|
||||
EFI_PEI_SMBUS_PPI *
|
||||
InternalGetSmbusPpi (
|
||||
VOID
|
||||
)
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_PEI_SMBUS_PPI *SmbusPpi;
|
||||
@ -39,7 +39,7 @@ InternalGetSmbusPpi (
|
||||
}
|
||||
|
||||
/**
|
||||
Executes an SMBus operation to an SMBus controller.
|
||||
Executes an SMBus operation to an SMBus controller.
|
||||
|
||||
This function provides a standard way to execute Smbus script
|
||||
as defined in the SmBus Specification. The data can either be of
|
||||
@ -83,7 +83,7 @@ InternalSmBusExec (
|
||||
SmbusDeviceAddress,
|
||||
SMBUS_LIB_COMMAND (SmBusAddress),
|
||||
SmbusOperation,
|
||||
SMBUS_LIB_PEC (SmBusAddress),
|
||||
SMBUS_LIB_PEC (SmBusAddress),
|
||||
&Length,
|
||||
Buffer
|
||||
);
|
||||
|
@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# SMBUS library that layers on top of the SMBUS PPI.
|
||||
#
|
||||
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -20,7 +20,7 @@
|
||||
FILE_GUID = 51C4C059-67F0-4e3c-9A55-FF42A8291C8C
|
||||
MODULE_TYPE = PEIM
|
||||
VERSION_STRING = 1.0
|
||||
LIBRARY_CLASS = SmbusLib|PEIM
|
||||
LIBRARY_CLASS = SmbusLib|PEIM
|
||||
|
||||
|
||||
#
|
||||
|
@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
Implementation of SmBusLib class library for PEI phase.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
Module Name: SmbusLib.c
|
||||
@ -189,7 +189,7 @@ SmBusReadDataByte (
|
||||
ASSERT (SMBUS_LIB_RESERVED (SmBusAddress) == 0);
|
||||
|
||||
InternalSmBusExec (EfiSmbusReadByte, SmBusAddress, 1, &Byte, Status);
|
||||
|
||||
|
||||
return Byte;
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ SmBusWriteDataByte (
|
||||
|
||||
Byte = Value;
|
||||
InternalSmBusExec (EfiSmbusWriteByte, SmBusAddress, 1, &Byte, Status);
|
||||
|
||||
|
||||
return Value;
|
||||
}
|
||||
|
||||
@ -241,7 +241,7 @@ SmBusWriteDataByte (
|
||||
If Status is not NULL, then the status of the executed command is returned in Status.
|
||||
If Length in SmBusAddress is not zero, then ASSERT().
|
||||
If any reserved bits of SmBusAddress are set, then ASSERT().
|
||||
|
||||
|
||||
@param SmBusAddress Address that encodes the SMBUS Slave Address,
|
||||
SMBUS Command, SMBUS Data Length, and PEC.
|
||||
@param Status Return status for the executed command.
|
||||
@ -263,7 +263,7 @@ SmBusReadDataWord (
|
||||
ASSERT (SMBUS_LIB_RESERVED (SmBusAddress) == 0);
|
||||
|
||||
InternalSmBusExec (EfiSmbusReadWord, SmBusAddress, 2, &Word, Status);
|
||||
|
||||
|
||||
return Word;
|
||||
}
|
||||
|
||||
@ -338,7 +338,7 @@ SmBusProcessCall (
|
||||
ASSERT (SMBUS_LIB_RESERVED (SmBusAddress) == 0);
|
||||
|
||||
InternalSmBusExec (EfiSmbusProcessCall, SmBusAddress, 2, &Value, Status);
|
||||
|
||||
|
||||
return Value;
|
||||
}
|
||||
|
||||
@ -387,7 +387,7 @@ SmBusReadBlock (
|
||||
The SMBUS slave address, SMBUS command, and SMBUS length fields of SmBusAddress are required.
|
||||
Bytes are written to the SMBUS from Buffer.
|
||||
The number of bytes written is returned, and will never return a value larger than 32-bytes.
|
||||
If Status is not NULL, then the status of the executed command is returned in Status.
|
||||
If Status is not NULL, then the status of the executed command is returned in Status.
|
||||
If Length in SmBusAddress is zero or greater than 32, then ASSERT().
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If any reserved bits of SmBusAddress are set, then ASSERT().
|
||||
|
Reference in New Issue
Block a user