2 GUID used to identify id for the caller who is initiating the Status Code.
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 Module Name: StatusCodeDataTypeId.h
15 @par Revision Reference:
16 GUIDs defined in Status Codes Specification 0.92
20 #ifndef __STATUS_CODE_DATA_TYPE_ID_GUID_H__
21 #define __STATUS_CODE_DATA_TYPE_ID_GUID_H__
24 #include <Framework/StatusCode.h>
25 #include <Framework/DataHubRecords.h>
26 #include <Protocol/DebugSupport.h>
27 #include <Protocol/FrameworkHii.h>
29 //////////////////////////////////////////////////////////////////////////////////////////
30 // String Data Type defintion. This is part of Status Code Specification
31 //////////////////////////////////////////////////////////////////////////////////////////
32 #define EFI_STATUS_CODE_DATA_TYPE_STRING_GUID \
33 { 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A } }
44 FRAMEWORK_EFI_HII_HANDLE Handle
;
46 } EFI_STATUS_CODE_STRING_TOKEN
;
51 EFI_STATUS_CODE_STRING_TOKEN Hii
;
52 } EFI_STATUS_CODE_STRING
;
55 EFI_STATUS_CODE_DATA DataHeader
;
56 EFI_STRING_TYPE StringType
;
57 EFI_STATUS_CODE_STRING String
;
58 } EFI_STATUS_CODE_STRING_DATA
;
61 extern EFI_GUID gEfiStatusCodeDataTypeStringGuid
;
64 //////////////////////////////////////////////////////////////////////////////////////////
65 // Special Data Type defintion. This is part of Status Code Specification
66 //////////////////////////////////////////////////////////////////////////////////////////
67 #define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \
68 { 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }
73 /// Device handle Extended Data. Used for many
74 /// errors and progress codes to point to the device.
77 EFI_STATUS_CODE_DATA DataHeader
;
79 } EFI_DEVICE_HANDLE_EXTENDED_DATA
;
83 EFI_STATUS_CODE_DATA DataHeader
;
85 } EFI_DEVICE_PATH_EXTENDED_DATA
;
88 EFI_STATUS_CODE_DATA DataHeader
;
90 UINT16 DevicePathSize
;
96 } EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA
;
99 /// Voltage Extended Error Data
102 EFI_STATUS_CODE_DATA DataHeader
;
103 EFI_EXP_BASE10_DATA Voltage
;
104 EFI_EXP_BASE10_DATA Threshold
;
105 } EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA
;
108 /// Microcode Update Extended Error Data
111 EFI_STATUS_CODE_DATA DataHeader
;
113 } EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA
;
116 /// Asynchronous Timer Extended Error Data
119 EFI_STATUS_CODE_DATA DataHeader
;
120 EFI_EXP_BASE10_DATA TimerLimit
;
121 } EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA
;
124 /// Host Processor Mismatch Extended Error Data
127 EFI_STATUS_CODE_DATA DataHeader
;
130 } EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA
;
133 /// Thermal Extended Error Data
136 EFI_STATUS_CODE_DATA DataHeader
;
137 EFI_EXP_BASE10_DATA Temperature
;
138 EFI_EXP_BASE10_DATA Threshold
;
139 } EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA
;
143 EfiInitCacheDataOnly
,
144 EfiInitCacheInstrOnly
,
146 EfiInitCacheUnspecified
147 } EFI_INIT_CACHE_TYPE
;
150 /// Embedded cache init extended data
153 EFI_STATUS_CODE_DATA DataHeader
;
155 EFI_INIT_CACHE_TYPE Type
;
156 } EFI_CACHE_INIT_DATA
;
159 /// Processor Disabled Extended Error Data
162 EFI_STATUS_CODE_DATA DataHeader
;
164 BOOLEAN SoftwareDisabled
;
165 } EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA
;
168 /// Memory Error Operation Definition
170 typedef UINT8 EFI_MEMORY_ERROR_OPERATION
;
173 /// Memory Error Granularity Definition
175 typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY
;
178 EFI_STATUS_CODE_DATA DataHeader
;
179 EFI_MEMORY_ERROR_GRANULARITY Granularity
;
180 EFI_MEMORY_ERROR_OPERATION Operation
;
182 EFI_PHYSICAL_ADDRESS Address
;
184 } EFI_MEMORY_EXTENDED_ERROR_DATA
;
187 EFI_STATUS_CODE_DATA DataHeader
;
190 } EFI_STATUS_CODE_DIMM_NUMBER
;
193 /// Memory Module Mismatch Extended Error Data
196 EFI_STATUS_CODE_DATA DataHeader
;
197 EFI_STATUS_CODE_DIMM_NUMBER Instance
;
198 } EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA
;
201 /// Memory Range Extended Data
204 EFI_STATUS_CODE_DATA DataHeader
;
205 EFI_PHYSICAL_ADDRESS Start
;
206 EFI_PHYSICAL_ADDRESS Length
;
207 } EFI_MEMORY_RANGE_EXTENDED_DATA
;
210 /// Extended Error Data for Assert
213 EFI_STATUS_CODE_DATA DataHeader
;
216 EFI_STATUS_CODE_STRING_DATA
*FileName
;
217 } EFI_DEBUG_ASSERT_DATA
;
220 /// System Context Data EBC/IA32/IPF
223 EFI_SYSTEM_CONTEXT_EBC SystemContextEbc
;
224 EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32
;
225 EFI_SYSTEM_CONTEXT_IPF SystemContextIpf
;
226 } EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT
;
229 EFI_STATUS_CODE_DATA DataHeader
;
230 EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context
;
231 } EFI_STATUS_CODE_EXCEP_EXTENDED_DATA
;
234 EFI_STATUS_CODE_DATA DataHeader
;
235 EFI_HANDLE ControllerHandle
;
236 EFI_HANDLE DriverBindingHandle
;
237 UINT16 DevicePathSize
;
238 UINT8
*RemainingDevicePath
;
239 } EFI_STATUS_CODE_START_EXTENDED_DATA
;
242 /// Legacy Oprom extended data
245 EFI_STATUS_CODE_DATA DataHeader
;
246 EFI_HANDLE DeviceHandle
;
247 EFI_PHYSICAL_ADDRESS RomImageBase
;
248 } EFI_LEGACY_OPROM_EXTENDED_DATA
;
252 extern EFI_GUID gEfiStatusCodeSpecificDataGuid
;
255 // EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES
256 // All other attributes are reserved for future use and
257 // must be initialized to 0.
259 #define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001
260 #define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002
261 #define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004
262 #define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008
263 #define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010
264 #define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020
265 #define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000
266 #define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000
267 #define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000
268 #define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000
273 // Memory Error Granularities
275 #define EFI_MEMORY_ERROR_OTHER 0x01
276 #define EFI_MEMORY_ERROR_UNKNOWN 0x02
277 #define EFI_MEMORY_ERROR_DEVICE 0x03
278 #define EFI_MEMORY_ERROR_PARTITION 0x04
281 // Memory Error Operations
283 #define EFI_MEMORY_OPERATION_OTHER 0x01
284 #define EFI_MEMORY_OPERATION_UNKNOWN 0x02
285 #define EFI_MEMORY_OPERATION_READ 0x03
286 #define EFI_MEMORY_OPERATION_WRITE 0x04
287 #define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05
290 // Define shorthands to describe Group Operations
291 // Many memory init operations are essentially group
294 /// A shorthand to describe that the operation is performed
295 /// on multiple devices within the array
297 #define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
299 /// A shorthand to describe that the operation is performed on all devices within the array
301 #define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
303 /// A shorthand to describe that the operation is performed on multiple arrays
305 #define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
307 /// A shorthand to describe that the operation is performed on all the arrays
309 #define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
315 // Debug Assert Data. This is part of Status Code Specification
317 #define EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID \
318 { 0xDA571595, 0x4D99, 0x487C, { 0x82, 0x7C, 0x26, 0x22, 0x67, 0x7D, 0x33, 0x07 } }
321 extern EFI_GUID gEfiStatusCodeDataTypeAssertGuid
;
324 // Exception Data type (CPU REGS)
326 #define EFI_STATUS_CODE_DATA_TYPE_EXCEPTION_HANDLER_GUID \
327 { 0x3BC2BD12, 0xAD2E, 0x11D5, { 0x87, 0xDD, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 } }
329 extern EFI_GUID gEfiStatusCodeDataTypeExceptionHandlerGuid
;
332 // Debug DataType defintions. User Defined Data Types.
334 #define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \
335 { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } }
337 extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid
;
340 // Progress Code. User Defined Data Type Guid.
342 #define EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID \
343 { 0xAB359CE3, 0x99B3, 0xAE18, { 0xC8, 0x9D, 0x95, 0xD3, 0xB0, 0x72, 0xE1, 0x9B } }
345 extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid
;
348 // Progress Code. User Defined Data Type Guid.
350 #define EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID \
351 { 0xA356AB39, 0x35C4, 0x35DA, { 0xB3, 0x7A, 0xF8, 0xEA, 0x9E, 0x8B, 0x36, 0xA3 } }
353 extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid
;