From c7458efd36f955f4c9af79290198f41e8d239216 Mon Sep 17 00:00:00 2001 From: klu2 Date: Fri, 10 Aug 2007 09:48:47 +0000 Subject: 1) Move the structure definitions related GUID EFI_STATUS_CODE_SPECIFIC_DATA_GUID and EFI_STATUS_CODE_DATA_TYPE_STRING_GUID from IntelFrameworkPkg\Framework/StatusCodeDataTypeId.h to IntelFrameworkPkg\Guid/StatusCodeDataTypeId.h 2) Remove IntelFrameworkPkg/Framework/StatusCodeDataTypeId.h git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3609 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Guid/StatusCodeDataTypeId.h | 285 ++++++++++++++++++++- 1 file changed, 278 insertions(+), 7 deletions(-) (limited to 'IntelFrameworkPkg/Include/Guid') diff --git a/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h b/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h index 00d2182484..dbe8fba37c 100644 --- a/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h +++ b/IntelFrameworkPkg/Include/Guid/StatusCodeDataTypeId.h @@ -21,24 +21,295 @@ #define __STATUS_CODE_DATA_TYPE_ID_GUID_H__ #include +#include +#include +#include -// +////////////////////////////////////////////////////////////////////////////////////////// // String Data Type defintion. This is part of Status Code Specification -// +////////////////////////////////////////////////////////////////////////////////////////// #define EFI_STATUS_CODE_DATA_TYPE_STRING_GUID \ { 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A } } +#pragma pack(1) + +typedef enum { + EfiStringAscii, + EfiStringUnicode, + EfiStringToken +} EFI_STRING_TYPE; + +typedef struct { + EFI_HII_HANDLE Handle; + STRING_REF Token; +} EFI_STATUS_CODE_STRING_TOKEN; + +typedef union { + CHAR8 *Ascii; + CHAR16 *Unicode; + EFI_STATUS_CODE_STRING_TOKEN Hii; +} EFI_STATUS_CODE_STRING; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_STRING_TYPE StringType; + EFI_STATUS_CODE_STRING String; +} EFI_STATUS_CODE_STRING_DATA; +#pragma pack() + extern EFI_GUID gEfiStatusCodeDataTypeStringGuid; -// -// This GUID indicates that the format of the accompanying data depends -// upon the Status Code Value, but follows this Specification -// + +////////////////////////////////////////////////////////////////////////////////////////// +// Special Data Type defintion. This is part of Status Code Specification +////////////////////////////////////////////////////////////////////////////////////////// #define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \ { 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } } +#pragma pack(1) + +/// +/// Device handle Extended Data. Used for many +/// errors and progress codes to point to the device. +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_HANDLE Handle; +} EFI_DEVICE_HANDLE_EXTENDED_DATA; + + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT8 *DevicePath; +} EFI_DEVICE_PATH_EXTENDED_DATA; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 Bar; + UINT16 DevicePathSize; + UINT16 ReqResSize; + UINT16 AllocResSize; + UINT8 *DevicePath; + UINT8 *ReqRes; + UINT8 *AllocRes; +} EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA; + +/// +/// Voltage Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_EXP_BASE10_DATA Voltage; + EFI_EXP_BASE10_DATA Threshold; +} EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA; + +/// +/// Microcode Update Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 Version; +} EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA; + +/// +/// Asynchronous Timer Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_EXP_BASE10_DATA TimerLimit; +} EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA; + +/// +/// Host Processor Mismatch Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 Instance; + UINT16 Attributes; +} EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA; + +/// +/// Thermal Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_EXP_BASE10_DATA Temperature; + EFI_EXP_BASE10_DATA Threshold; +} EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA; + + +typedef enum { + EfiInitCacheDataOnly, + EfiInitCacheInstrOnly, + EfiInitCacheBoth, + EfiInitCacheUnspecified +} EFI_INIT_CACHE_TYPE; + +/// +/// Embedded cache init extended data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 Level; + EFI_INIT_CACHE_TYPE Type; +} EFI_CACHE_INIT_DATA; + +/// +/// Processor Disabled Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 Cause; + BOOLEAN SoftwareDisabled; +} EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA; + +/// +/// Memory Error Operation Definition +/// +typedef UINT8 EFI_MEMORY_ERROR_OPERATION; + +/// +/// Memory Error Granularity Definition +/// +typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_MEMORY_ERROR_GRANULARITY Granularity; + EFI_MEMORY_ERROR_OPERATION Operation; + UINTN Syndrome; + EFI_PHYSICAL_ADDRESS Address; + UINTN Resolution; +} EFI_MEMORY_EXTENDED_ERROR_DATA; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT16 Array; + UINT16 Device; +} EFI_STATUS_CODE_DIMM_NUMBER; + +/// +/// Memory Module Mismatch Extended Error Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_STATUS_CODE_DIMM_NUMBER Instance; +} EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA; + +/// +/// Memory Range Extended Data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_PHYSICAL_ADDRESS Start; + EFI_PHYSICAL_ADDRESS Length; +} EFI_MEMORY_RANGE_EXTENDED_DATA; + +/// +/// Extended Error Data for Assert +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + UINT32 LineNumber; + UINT32 FileNameSize; + EFI_STATUS_CODE_STRING_DATA *FileName; +} EFI_DEBUG_ASSERT_DATA; + +/// +/// System Context Data EBC/IA32/IPF +/// +typedef union { + EFI_SYSTEM_CONTEXT_EBC SystemContextEbc; + EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32; + EFI_SYSTEM_CONTEXT_IPF SystemContextIpf; +} EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context; +} EFI_STATUS_CODE_EXCEP_EXTENDED_DATA; + +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_HANDLE ControllerHandle; + EFI_HANDLE DriverBindingHandle; + UINT16 DevicePathSize; + UINT8 *RemainingDevicePath; +} EFI_STATUS_CODE_START_EXTENDED_DATA; + +/// +/// Legacy Oprom extended data +/// +typedef struct { + EFI_STATUS_CODE_DATA DataHeader; + EFI_HANDLE DeviceHandle; + EFI_PHYSICAL_ADDRESS RomImageBase; +} EFI_LEGACY_OPROM_EXTENDED_DATA; + +#pragma pack() + extern EFI_GUID gEfiStatusCodeSpecificDataGuid; +// +// EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES +// All other attributes are reserved for future use and +// must be initialized to 0. +// +#define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001 +#define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002 +#define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004 +#define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008 +#define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010 +#define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020 +#define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000 +#define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000 +#define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000 +#define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000 + + + +// +// Memory Error Granularities +// +#define EFI_MEMORY_ERROR_OTHER 0x01 +#define EFI_MEMORY_ERROR_UNKNOWN 0x02 +#define EFI_MEMORY_ERROR_DEVICE 0x03 +#define EFI_MEMORY_ERROR_PARTITION 0x04 + +// +// Memory Error Operations +// +#define EFI_MEMORY_OPERATION_OTHER 0x01 +#define EFI_MEMORY_OPERATION_UNKNOWN 0x02 +#define EFI_MEMORY_OPERATION_READ 0x03 +#define EFI_MEMORY_OPERATION_WRITE 0x04 +#define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05 + +// +// Define shorthands to describe Group Operations +// Many memory init operations are essentially group +// operations. + +/// A shorthand to describe that the operation is performed +/// on multiple devices within the array +/// +#define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe +/// +/// A shorthand to describe that the operation is performed on all devices within the array +/// +#define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff +/// +/// A shorthand to describe that the operation is performed on multiple arrays +/// +#define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe +/// +/// A shorthand to describe that the operation is performed on all the arrays +/// +#define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff + + + + // // Debug Assert Data. This is part of Status Code Specification // @@ -72,7 +343,6 @@ extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid; extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid; - // // Progress Code. User Defined Data Type Guid. // @@ -81,4 +351,5 @@ extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid; extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid; + #endif -- cgit v1.2.3