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>
28 //////////////////////////////////////////////////////////////////////////////////////////
29 // String Data Type defintion. This is part of Status Code Specification
30 //////////////////////////////////////////////////////////////////////////////////////////
31 #define EFI_STATUS_CODE_DATA_TYPE_STRING_GUID \
32 { 0x92D11080, 0x496F, 0x4D95, { 0xBE, 0x7E, 0x03, 0x74, 0x88, 0x38, 0x2B, 0x0A } }
43 EFI_HII_HANDLE Handle
;
45 } EFI_STATUS_CODE_STRING_TOKEN
;
50 EFI_STATUS_CODE_STRING_TOKEN Hii
;
51 } EFI_STATUS_CODE_STRING
;
54 EFI_STATUS_CODE_DATA DataHeader
;
55 EFI_STRING_TYPE StringType
;
56 EFI_STATUS_CODE_STRING String
;
57 } EFI_STATUS_CODE_STRING_DATA
;
60 extern EFI_GUID gEfiStatusCodeDataTypeStringGuid
;
63 //////////////////////////////////////////////////////////////////////////////////////////
64 // Special Data Type defintion. This is part of Status Code Specification
65 //////////////////////////////////////////////////////////////////////////////////////////
66 #define EFI_STATUS_CODE_SPECIFIC_DATA_GUID \
67 { 0x335984bd, 0xe805, 0x409a, { 0xb8, 0xf8, 0xd2, 0x7e, 0xce, 0x5f, 0xf7, 0xa6 } }
72 /// Device handle Extended Data. Used for many
73 /// errors and progress codes to point to the device.
76 EFI_STATUS_CODE_DATA DataHeader
;
78 } EFI_DEVICE_HANDLE_EXTENDED_DATA
;
82 EFI_STATUS_CODE_DATA DataHeader
;
84 } EFI_DEVICE_PATH_EXTENDED_DATA
;
87 EFI_STATUS_CODE_DATA DataHeader
;
89 UINT16 DevicePathSize
;
95 } EFI_RESOURCE_ALLOC_FAILURE_ERROR_DATA
;
98 /// Voltage Extended Error Data
101 EFI_STATUS_CODE_DATA DataHeader
;
102 EFI_EXP_BASE10_DATA Voltage
;
103 EFI_EXP_BASE10_DATA Threshold
;
104 } EFI_COMPUTING_UNIT_VOLTAGE_ERROR_DATA
;
107 /// Microcode Update Extended Error Data
110 EFI_STATUS_CODE_DATA DataHeader
;
112 } EFI_COMPUTING_UNIT_MICROCODE_UPDATE_ERROR_DATA
;
115 /// Asynchronous Timer Extended Error Data
118 EFI_STATUS_CODE_DATA DataHeader
;
119 EFI_EXP_BASE10_DATA TimerLimit
;
120 } EFI_COMPUTING_UNIT_TIMER_EXPIRED_ERROR_DATA
;
123 /// Host Processor Mismatch Extended Error Data
126 EFI_STATUS_CODE_DATA DataHeader
;
129 } EFI_HOST_PROCESSOR_MISMATCH_ERROR_DATA
;
132 /// Thermal Extended Error Data
135 EFI_STATUS_CODE_DATA DataHeader
;
136 EFI_EXP_BASE10_DATA Temperature
;
137 EFI_EXP_BASE10_DATA Threshold
;
138 } EFI_COMPUTING_UNIT_THERMAL_ERROR_DATA
;
142 EfiInitCacheDataOnly
,
143 EfiInitCacheInstrOnly
,
145 EfiInitCacheUnspecified
146 } EFI_INIT_CACHE_TYPE
;
149 /// Embedded cache init extended data
152 EFI_STATUS_CODE_DATA DataHeader
;
154 EFI_INIT_CACHE_TYPE Type
;
155 } EFI_CACHE_INIT_DATA
;
158 /// Processor Disabled Extended Error Data
161 EFI_STATUS_CODE_DATA DataHeader
;
163 BOOLEAN SoftwareDisabled
;
164 } EFI_COMPUTING_UNIT_CPU_DISABLED_ERROR_DATA
;
167 /// Memory Error Operation Definition
169 typedef UINT8 EFI_MEMORY_ERROR_OPERATION
;
172 /// Memory Error Granularity Definition
174 typedef UINT8 EFI_MEMORY_ERROR_GRANULARITY
;
177 EFI_STATUS_CODE_DATA DataHeader
;
178 EFI_MEMORY_ERROR_GRANULARITY Granularity
;
179 EFI_MEMORY_ERROR_OPERATION Operation
;
181 EFI_PHYSICAL_ADDRESS Address
;
183 } EFI_MEMORY_EXTENDED_ERROR_DATA
;
186 EFI_STATUS_CODE_DATA DataHeader
;
189 } EFI_STATUS_CODE_DIMM_NUMBER
;
192 /// Memory Module Mismatch Extended Error Data
195 EFI_STATUS_CODE_DATA DataHeader
;
196 EFI_STATUS_CODE_DIMM_NUMBER Instance
;
197 } EFI_MEMORY_MODULE_MISMATCH_ERROR_DATA
;
200 /// Memory Range Extended Data
203 EFI_STATUS_CODE_DATA DataHeader
;
204 EFI_PHYSICAL_ADDRESS Start
;
205 EFI_PHYSICAL_ADDRESS Length
;
206 } EFI_MEMORY_RANGE_EXTENDED_DATA
;
209 /// Extended Error Data for Assert
212 EFI_STATUS_CODE_DATA DataHeader
;
215 EFI_STATUS_CODE_STRING_DATA
*FileName
;
216 } EFI_DEBUG_ASSERT_DATA
;
219 /// System Context Data EBC/IA32/IPF
222 EFI_SYSTEM_CONTEXT_EBC SystemContextEbc
;
223 EFI_SYSTEM_CONTEXT_IA32 SystemContextIa32
;
224 EFI_SYSTEM_CONTEXT_IPF SystemContextIpf
;
225 } EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT
;
228 EFI_STATUS_CODE_DATA DataHeader
;
229 EFI_STATUS_CODE_EXCEP_SYSTEM_CONTEXT Context
;
230 } EFI_STATUS_CODE_EXCEP_EXTENDED_DATA
;
233 EFI_STATUS_CODE_DATA DataHeader
;
234 EFI_HANDLE ControllerHandle
;
235 EFI_HANDLE DriverBindingHandle
;
236 UINT16 DevicePathSize
;
237 UINT8
*RemainingDevicePath
;
238 } EFI_STATUS_CODE_START_EXTENDED_DATA
;
241 /// Legacy Oprom extended data
244 EFI_STATUS_CODE_DATA DataHeader
;
245 EFI_HANDLE DeviceHandle
;
246 EFI_PHYSICAL_ADDRESS RomImageBase
;
247 } EFI_LEGACY_OPROM_EXTENDED_DATA
;
251 extern EFI_GUID gEfiStatusCodeSpecificDataGuid
;
254 // EFI_COMPUTING_UNIT_MISMATCH_ATTRIBUTES
255 // All other attributes are reserved for future use and
256 // must be initialized to 0.
258 #define EFI_COMPUTING_UNIT_MISMATCH_SPEED 0x0001
259 #define EFI_COMPUTING_UNIT_MISMATCH_FSB_SPEED 0x0002
260 #define EFI_COMPUTING_UNIT_MISMATCH_FAMILY 0x0004
261 #define EFI_COMPUTING_UNIT_MISMATCH_MODEL 0x0008
262 #define EFI_COMPUTING_UNIT_MISMATCH_STEPPING 0x0010
263 #define EFI_COMPUTING_UNIT_MISMATCH_CACHE_SIZE 0x0020
264 #define EFI_COMPUTING_UNIT_MISMATCH_OEM1 0x1000
265 #define EFI_COMPUTING_UNIT_MISMATCH_OEM2 0x2000
266 #define EFI_COMPUTING_UNIT_MISMATCH_OEM3 0x4000
267 #define EFI_COMPUTING_UNIT_MISMATCH_OEM4 0x8000
272 // Memory Error Granularities
274 #define EFI_MEMORY_ERROR_OTHER 0x01
275 #define EFI_MEMORY_ERROR_UNKNOWN 0x02
276 #define EFI_MEMORY_ERROR_DEVICE 0x03
277 #define EFI_MEMORY_ERROR_PARTITION 0x04
280 // Memory Error Operations
282 #define EFI_MEMORY_OPERATION_OTHER 0x01
283 #define EFI_MEMORY_OPERATION_UNKNOWN 0x02
284 #define EFI_MEMORY_OPERATION_READ 0x03
285 #define EFI_MEMORY_OPERATION_WRITE 0x04
286 #define EFI_MEMORY_OPERATION_PARTIAL_WRITE 0x05
289 // Define shorthands to describe Group Operations
290 // Many memory init operations are essentially group
293 /// A shorthand to describe that the operation is performed
294 /// on multiple devices within the array
296 #define EFI_MULTIPLE_MEMORY_DEVICE_OPERATION 0xfffe
298 /// A shorthand to describe that the operation is performed on all devices within the array
300 #define EFI_ALL_MEMORY_DEVICE_OPERATION 0xffff
302 /// A shorthand to describe that the operation is performed on multiple arrays
304 #define EFI_MULTIPLE_MEMORY_ARRAY_OPERATION 0xfffe
306 /// A shorthand to describe that the operation is performed on all the arrays
308 #define EFI_ALL_MEMORY_ARRAY_OPERATION 0xffff
314 // Debug Assert Data. This is part of Status Code Specification
316 #define EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID \
317 { 0xDA571595, 0x4D99, 0x487C, { 0x82, 0x7C, 0x26, 0x22, 0x67, 0x7D, 0x33, 0x07 } }
320 extern EFI_GUID gEfiStatusCodeDataTypeAssertGuid
;
323 // Exception Data type (CPU REGS)
325 #define EFI_STATUS_CODE_DATA_TYPE_EXCEPTION_HANDLER_GUID \
326 { 0x3BC2BD12, 0xAD2E, 0x11D5, { 0x87, 0xDD, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xB9 } }
328 extern EFI_GUID gEfiStatusCodeDataTypeExceptionHandlerGuid
;
331 // Debug DataType defintions. User Defined Data Types.
333 #define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \
334 { 0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } }
336 extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid
;
339 // Progress Code. User Defined Data Type Guid.
341 #define EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID \
342 { 0xAB359CE3, 0x99B3, 0xAE18, { 0xC8, 0x9D, 0x95, 0xD3, 0xB0, 0x72, 0xE1, 0x9B } }
344 extern EFI_GUID gEfiStatusCodeDataTypeErrorGuid
;
347 // Progress Code. User Defined Data Type Guid.
349 #define EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID \
350 { 0xA356AB39, 0x35C4, 0x35DA, { 0xB3, 0x7A, 0xF8, 0xEA, 0x9E, 0x8B, 0x36, 0xA3 } }
352 extern EFI_GUID gEfiStatusCodeDataTypeProgressCodeGuid
;