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