]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Pi/PiStatusCode.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Pi / PiStatusCode.h
CommitLineData
d7dfd027
LG
1/** @file\r
2 StatusCode related definitions in PI.\r
3\r
9095d37b 4Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
9344f092 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
d7dfd027
LG
6\r
7 @par Revision Reference:\r
9095d37b 8 These status codes are defined in UEFI Platform Initialization Specification 1.2,\r
af2dc6a7 9 Volume 3: Shared Architectural Elements.\r
d7dfd027
LG
10\r
11**/\r
12\r
13#ifndef __PI_STATUS_CODE_H__\r
14#define __PI_STATUS_CODE_H__\r
15\r
b205f267 16//\r
31c21fd3 17// Required for IA32, X64, IPF, ARM and EBC defines for CPU exception types\r
b205f267 18//\r
19#include <Protocol/DebugSupport.h>\r
20\r
d7dfd027 21///\r
af2dc6a7 22/// Status Code Type Definition.\r
d7dfd027 23///\r
2f88bd3a 24typedef UINT32 EFI_STATUS_CODE_TYPE;\r
d7dfd027 25\r
b205f267 26///\r
af2dc6a7 27/// A Status Code Type is made up of the code type and severity.\r
b205f267 28/// All values masked by EFI_STATUS_CODE_RESERVED_MASK are\r
29/// reserved for use by this specification.\r
30///\r
31///@{\r
2f88bd3a
MK
32#define EFI_STATUS_CODE_TYPE_MASK 0x000000FF\r
33#define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000\r
34#define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00\r
b205f267 35///@}\r
d7dfd027 36\r
b205f267 37///\r
af2dc6a7 38/// Definition of code types. All other values masked by\r
b205f267 39/// EFI_STATUS_CODE_TYPE_MASK are reserved for use by\r
40/// this specification.\r
41///\r
42///@{\r
2f88bd3a
MK
43#define EFI_PROGRESS_CODE 0x00000001\r
44#define EFI_ERROR_CODE 0x00000002\r
45#define EFI_DEBUG_CODE 0x00000003\r
b205f267 46///@}\r
d7dfd027 47\r
b205f267 48///\r
49/// Definitions of severities, all other values masked by\r
50/// EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by\r
51/// this specification.\r
52/// Uncontained errors are major errors that could not contained\r
af2dc6a7 53/// to the specific component that is reporting the error.\r
b205f267 54/// For example, if a memory error was not detected early enough,\r
55/// the bad data could be consumed by other drivers.\r
56///\r
57///@{\r
2f88bd3a
MK
58#define EFI_ERROR_MINOR 0x40000000\r
59#define EFI_ERROR_MAJOR 0x80000000\r
60#define EFI_ERROR_UNRECOVERED 0x90000000\r
61#define EFI_ERROR_UNCONTAINED 0xa0000000\r
b205f267 62///@}\r
d7dfd027
LG
63\r
64///\r
af2dc6a7 65/// Status Code Value Definition.\r
d7dfd027
LG
66///\r
67typedef UINT32 EFI_STATUS_CODE_VALUE;\r
68\r
b205f267 69///\r
70/// A Status Code Value is made up of the class, subclass, and\r
71/// an operation.\r
72///\r
73///@{\r
d7dfd027
LG
74#define EFI_STATUS_CODE_CLASS_MASK 0xFF000000\r
75#define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000\r
76#define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF\r
b205f267 77///@}\r
d7dfd027
LG
78\r
79///\r
80/// Definition of Status Code extended data header.\r
81/// The data will follow HeaderSize bytes from the beginning of\r
82/// the structure and is Size bytes long.\r
83///\r
84typedef struct {\r
85 ///\r
86 /// The size of the structure. This is specified to enable future expansion.\r
87 ///\r
2f88bd3a 88 UINT16 HeaderSize;\r
d7dfd027
LG
89 ///\r
90 /// The size of the data in bytes. This does not include the size of the header structure.\r
91 ///\r
2f88bd3a 92 UINT16 Size;\r
d7dfd027
LG
93 ///\r
94 /// The GUID defining the type of the data.\r
95 ///\r
2f88bd3a 96 EFI_GUID Type;\r
d7dfd027
LG
97} EFI_STATUS_CODE_DATA;\r
98\r
b205f267 99///\r
af2dc6a7 100/// General partitioning scheme for Progress and Error Codes are:\r
101/// - 0x0000-0x0FFF Shared by all sub-classes in a given class.\r
102/// - 0x1000-0x7FFF Subclass Specific.\r
103/// - 0x8000-0xFFFF OEM specific.\r
b205f267 104///@{\r
2f88bd3a
MK
105#define EFI_SUBCLASS_SPECIFIC 0x1000\r
106#define EFI_OEM_SPECIFIC 0x8000\r
b205f267 107///@}\r
108\r
109///\r
af2dc6a7 110/// Debug Code definitions for all classes and subclass.\r
b205f267 111/// Only one debug code is defined at this point and should\r
af2dc6a7 112/// be used for anything that is sent to the debug stream.\r
b205f267 113///\r
114///@{\r
115#define EFI_DC_UNSPECIFIED 0x0\r
116///@}\r
117\r
118///\r
af2dc6a7 119/// Class definitions.\r
b205f267 120/// Values of 4-127 are reserved for future use by this specification.\r
121/// Values in the range 127-255 are reserved for OEM use.\r
122///\r
123///@{\r
124#define EFI_COMPUTING_UNIT 0x00000000\r
125#define EFI_PERIPHERAL 0x01000000\r
126#define EFI_IO_BUS 0x02000000\r
127#define EFI_SOFTWARE 0x03000000\r
128///@}\r
129\r
9095d37b 130///\r
b205f267 131/// Computing Unit Subclass definitions.\r
132/// Values of 8-127 are reserved for future use by this specification.\r
133/// Values of 128-255 are reserved for OEM use.\r
134///\r
135///@{\r
2f88bd3a
MK
136#define EFI_COMPUTING_UNIT_UNSPECIFIED (EFI_COMPUTING_UNIT | 0x00000000)\r
137#define EFI_COMPUTING_UNIT_HOST_PROCESSOR (EFI_COMPUTING_UNIT | 0x00010000)\r
138#define EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR (EFI_COMPUTING_UNIT | 0x00020000)\r
139#define EFI_COMPUTING_UNIT_IO_PROCESSOR (EFI_COMPUTING_UNIT | 0x00030000)\r
140#define EFI_COMPUTING_UNIT_CACHE (EFI_COMPUTING_UNIT | 0x00040000)\r
141#define EFI_COMPUTING_UNIT_MEMORY (EFI_COMPUTING_UNIT | 0x00050000)\r
142#define EFI_COMPUTING_UNIT_CHIPSET (EFI_COMPUTING_UNIT | 0x00060000)\r
b205f267 143///@}\r
144\r
145///\r
146/// Computing Unit Class Progress Code definitions.\r
147/// These are shared by all subclasses.\r
148///\r
149///@{\r
150#define EFI_CU_PC_INIT_BEGIN 0x00000000\r
151#define EFI_CU_PC_INIT_END 0x00000001\r
152///@}\r
153\r
154//\r
155// Computing Unit Unspecified Subclass Progress Code definitions.\r
156//\r
157\r
158///\r
159/// Computing Unit Host Processor Subclass Progress Code definitions.\r
160///@{\r
2f88bd3a
MK
161#define EFI_CU_HP_PC_POWER_ON_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
162#define EFI_CU_HP_PC_CACHE_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
163#define EFI_CU_HP_PC_RAM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
164#define EFI_CU_HP_PC_MEMORY_CONTROLLER_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
165#define EFI_CU_HP_PC_IO_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
166#define EFI_CU_HP_PC_BSP_SELECT (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
167#define EFI_CU_HP_PC_BSP_RESELECT (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
168#define EFI_CU_HP_PC_AP_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
169#define EFI_CU_HP_PC_SMM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
b205f267 170///@}\r
171\r
172//\r
173// Computing Unit Firmware Processor Subclass Progress Code definitions.\r
174//\r
175\r
176//\r
177// Computing Unit IO Processor Subclass Progress Code definitions.\r
178//\r
179\r
180///\r
181/// Computing Unit Cache Subclass Progress Code definitions.\r
182///\r
183///@{\r
2f88bd3a
MK
184#define EFI_CU_CACHE_PC_PRESENCE_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
185#define EFI_CU_CACHE_PC_CONFIGURATION (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
b205f267 186///@}\r
187\r
188///\r
189/// Computing Unit Memory Subclass Progress Code definitions.\r
190///\r
191///@{\r
192#define EFI_CU_MEMORY_PC_SPD_READ (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
193#define EFI_CU_MEMORY_PC_PRESENCE_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
194#define EFI_CU_MEMORY_PC_TIMING (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
195#define EFI_CU_MEMORY_PC_CONFIGURING (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
196#define EFI_CU_MEMORY_PC_OPTIMIZING (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
197#define EFI_CU_MEMORY_PC_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
198#define EFI_CU_MEMORY_PC_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
199///@}\r
200\r
201//\r
202// Computing Unit Chipset Subclass Progress Code definitions.\r
203//\r
204\r
b2057cc9 205///\r
af2dc6a7 206/// South Bridge initialization prior to memory detection.\r
b2057cc9 207///\r
2f88bd3a 208#define EFI_CHIPSET_PC_PEI_CAR_SB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000000)\r
b2057cc9 209\r
210///\r
af2dc6a7 211/// North Bridge initialization prior to memory detection.\r
b2057cc9 212///\r
2f88bd3a 213#define EFI_CHIPSET_PC_PEI_CAR_NB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000001)\r
b2057cc9 214\r
215///\r
af2dc6a7 216/// South Bridge initialization after memory detection.\r
b2057cc9 217///\r
2f88bd3a 218#define EFI_CHIPSET_PC_PEI_MEM_SB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000002)\r
b2057cc9 219\r
220///\r
af2dc6a7 221/// North Bridge initialization after memory detection.\r
b2057cc9 222///\r
2f88bd3a 223#define EFI_CHIPSET_PC_PEI_MEM_NB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000003)\r
b2057cc9 224\r
225///\r
af2dc6a7 226/// PCI Host Bridge DXE initialization.\r
b2057cc9 227///\r
2f88bd3a 228#define EFI_CHIPSET_PC_DXE_HB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000004)\r
b2057cc9 229\r
230///\r
af2dc6a7 231/// North Bridge DXE initialization.\r
b2057cc9 232///\r
2f88bd3a 233#define EFI_CHIPSET_PC_DXE_NB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000005)\r
b2057cc9 234\r
235///\r
af2dc6a7 236/// North Bridge specific SMM initialization in DXE.\r
b2057cc9 237///\r
2f88bd3a 238#define EFI_CHIPSET_PC_DXE_NB_SMM_INIT (EFI_SUBCLASS_SPECIFIC|0x00000006)\r
b2057cc9 239\r
240///\r
af2dc6a7 241/// Initialization of the South Bridge specific UEFI Runtime Services.\r
b2057cc9 242///\r
2f88bd3a 243#define EFI_CHIPSET_PC_DXE_SB_RT_INIT (EFI_SUBCLASS_SPECIFIC|0x00000007)\r
b2057cc9 244\r
245///\r
246/// South Bridge DXE initialization\r
247///\r
2f88bd3a 248#define EFI_CHIPSET_PC_DXE_SB_INIT (EFI_SUBCLASS_SPECIFIC|0x00000008)\r
b2057cc9 249\r
250///\r
af2dc6a7 251/// South Bridge specific SMM initialization in DXE.\r
b2057cc9 252///\r
2f88bd3a 253#define EFI_CHIPSET_PC_DXE_SB_SMM_INIT (EFI_SUBCLASS_SPECIFIC|0x00000009)\r
b2057cc9 254\r
255///\r
af2dc6a7 256/// Initialization of the South Bridge devices.\r
b2057cc9 257///\r
258#define EFI_CHIPSET_PC_DXE_SB_DEVICES_INIT (EFI_SUBCLASS_SPECIFIC|0x0000000a)\r
259\r
b205f267 260///\r
261/// Computing Unit Class Error Code definitions.\r
262/// These are shared by all subclasses.\r
263///\r
264///@{\r
265#define EFI_CU_EC_NON_SPECIFIC 0x00000000\r
266#define EFI_CU_EC_DISABLED 0x00000001\r
267#define EFI_CU_EC_NOT_SUPPORTED 0x00000002\r
268#define EFI_CU_EC_NOT_DETECTED 0x00000003\r
269#define EFI_CU_EC_NOT_CONFIGURED 0x00000004\r
270///@}\r
271\r
272//\r
273// Computing Unit Unspecified Subclass Error Code definitions.\r
274//\r
275\r
276///\r
277/// Computing Unit Host Processor Subclass Error Code definitions.\r
278///\r
279///@{\r
280#define EFI_CU_HP_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
281#define EFI_CU_HP_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
282#define EFI_CU_HP_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
283#define EFI_CU_HP_EC_TIMER_EXPIRED (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
284#define EFI_CU_HP_EC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
285#define EFI_CU_HP_EC_INTERNAL (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
286#define EFI_CU_HP_EC_THERMAL (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
287#define EFI_CU_HP_EC_LOW_VOLTAGE (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
288#define EFI_CU_HP_EC_HIGH_VOLTAGE (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
289#define EFI_CU_HP_EC_CACHE (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
290#define EFI_CU_HP_EC_MICROCODE_UPDATE (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
291#define EFI_CU_HP_EC_CORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x0000000B)\r
292#define EFI_CU_HP_EC_UNCORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x0000000C)\r
293#define EFI_CU_HP_EC_NO_MICROCODE_UPDATE (EFI_SUBCLASS_SPECIFIC | 0x0000000D)\r
294///@}\r
295\r
296///\r
297/// Computing Unit Firmware Processor Subclass Error Code definitions.\r
298///\r
299///@{\r
2f88bd3a
MK
300#define EFI_CU_FP_EC_HARD_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
301#define EFI_CU_FP_EC_SOFT_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
302#define EFI_CU_FP_EC_COMM_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
b205f267 303///@}\r
304\r
305//\r
306// Computing Unit IO Processor Subclass Error Code definitions.\r
307//\r
308\r
309///\r
310/// Computing Unit Cache Subclass Error Code definitions.\r
311///\r
312///@{\r
2f88bd3a
MK
313#define EFI_CU_CACHE_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
314#define EFI_CU_CACHE_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
315#define EFI_CU_CACHE_EC_INVALID_SIZE (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
316#define EFI_CU_CACHE_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
b205f267 317///@}\r
318\r
319///\r
320/// Computing Unit Memory Subclass Error Code definitions.\r
321///\r
322///@{\r
2f88bd3a
MK
323#define EFI_CU_MEMORY_EC_INVALID_TYPE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
324#define EFI_CU_MEMORY_EC_INVALID_SPEED (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
325#define EFI_CU_MEMORY_EC_CORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
326#define EFI_CU_MEMORY_EC_UNCORRECTABLE (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
327#define EFI_CU_MEMORY_EC_SPD_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
328#define EFI_CU_MEMORY_EC_INVALID_SIZE (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
329#define EFI_CU_MEMORY_EC_MISMATCH (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
330#define EFI_CU_MEMORY_EC_S3_RESUME_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
331#define EFI_CU_MEMORY_EC_UPDATE_FAIL (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
332#define EFI_CU_MEMORY_EC_NONE_DETECTED (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
333#define EFI_CU_MEMORY_EC_NONE_USEFUL (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
b205f267 334///@}\r
335\r
336///\r
337/// Computing Unit Chipset Subclass Error Code definitions.\r
338///\r
339///@{\r
340#define EFI_CHIPSET_EC_BAD_BATTERY (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
341#define EFI_CHIPSET_EC_DXE_NB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
342#define EFI_CHIPSET_EC_DXE_SB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
f8683a4b 343#define EFI_CHIPSET_EC_INTRUDER_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
b205f267 344///@}\r
345\r
346///\r
347/// Peripheral Subclass definitions.\r
348/// Values of 12-127 are reserved for future use by this specification.\r
349/// Values of 128-255 are reserved for OEM use.\r
350///\r
351///@{\r
352#define EFI_PERIPHERAL_UNSPECIFIED (EFI_PERIPHERAL | 0x00000000)\r
353#define EFI_PERIPHERAL_KEYBOARD (EFI_PERIPHERAL | 0x00010000)\r
354#define EFI_PERIPHERAL_MOUSE (EFI_PERIPHERAL | 0x00020000)\r
355#define EFI_PERIPHERAL_LOCAL_CONSOLE (EFI_PERIPHERAL | 0x00030000)\r
356#define EFI_PERIPHERAL_REMOTE_CONSOLE (EFI_PERIPHERAL | 0x00040000)\r
357#define EFI_PERIPHERAL_SERIAL_PORT (EFI_PERIPHERAL | 0x00050000)\r
358#define EFI_PERIPHERAL_PARALLEL_PORT (EFI_PERIPHERAL | 0x00060000)\r
359#define EFI_PERIPHERAL_FIXED_MEDIA (EFI_PERIPHERAL | 0x00070000)\r
360#define EFI_PERIPHERAL_REMOVABLE_MEDIA (EFI_PERIPHERAL | 0x00080000)\r
361#define EFI_PERIPHERAL_AUDIO_INPUT (EFI_PERIPHERAL | 0x00090000)\r
362#define EFI_PERIPHERAL_AUDIO_OUTPUT (EFI_PERIPHERAL | 0x000A0000)\r
363#define EFI_PERIPHERAL_LCD_DEVICE (EFI_PERIPHERAL | 0x000B0000)\r
364#define EFI_PERIPHERAL_NETWORK (EFI_PERIPHERAL | 0x000C0000)\r
f8683a4b 365#define EFI_PERIPHERAL_DOCKING (EFI_PERIPHERAL | 0x000D0000)\r
b205f267 366///@}\r
367\r
368///\r
369/// Peripheral Class Progress Code definitions.\r
370/// These are shared by all subclasses.\r
371///\r
372///@{\r
373#define EFI_P_PC_INIT 0x00000000\r
374#define EFI_P_PC_RESET 0x00000001\r
375#define EFI_P_PC_DISABLE 0x00000002\r
376#define EFI_P_PC_PRESENCE_DETECT 0x00000003\r
377#define EFI_P_PC_ENABLE 0x00000004\r
378#define EFI_P_PC_RECONFIG 0x00000005\r
379#define EFI_P_PC_DETECTED 0x00000006\r
f8683a4b 380#define EFI_P_PC_REMOVED 0x00000007\r
b205f267 381///@}\r
382\r
383//\r
384// Peripheral Class Unspecified Subclass Progress Code definitions.\r
385//\r
386\r
387///\r
388/// Peripheral Class Keyboard Subclass Progress Code definitions.\r
389///\r
390///@{\r
391#define EFI_P_KEYBOARD_PC_CLEAR_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
392#define EFI_P_KEYBOARD_PC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
393///@}\r
394\r
395///\r
396/// Peripheral Class Mouse Subclass Progress Code definitions.\r
397///\r
398///@{\r
399#define EFI_P_MOUSE_PC_SELF_TEST (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
400///@}\r
401\r
402//\r
403// Peripheral Class Local Console Subclass Progress Code definitions.\r
404//\r
405\r
406//\r
407// Peripheral Class Remote Console Subclass Progress Code definitions.\r
408//\r
409\r
410///\r
411/// Peripheral Class Serial Port Subclass Progress Code definitions.\r
412///\r
413///@{\r
2f88bd3a 414#define EFI_P_SERIAL_PORT_PC_CLEAR_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
b205f267 415///@}\r
416\r
417//\r
418// Peripheral Class Parallel Port Subclass Progress Code definitions.\r
419//\r
420\r
421//\r
422// Peripheral Class Fixed Media Subclass Progress Code definitions.\r
423//\r
424\r
425//\r
426// Peripheral Class Removable Media Subclass Progress Code definitions.\r
427//\r
428\r
429//\r
430// Peripheral Class Audio Input Subclass Progress Code definitions.\r
431//\r
432\r
433//\r
434// Peripheral Class Audio Output Subclass Progress Code definitions.\r
435//\r
436\r
437//\r
438// Peripheral Class LCD Device Subclass Progress Code definitions.\r
439//\r
440\r
441//\r
442// Peripheral Class Network Subclass Progress Code definitions.\r
443//\r
444\r
445///\r
446/// Peripheral Class Error Code definitions.\r
447/// These are shared by all subclasses.\r
448///\r
449///@{\r
450#define EFI_P_EC_NON_SPECIFIC 0x00000000\r
451#define EFI_P_EC_DISABLED 0x00000001\r
452#define EFI_P_EC_NOT_SUPPORTED 0x00000002\r
453#define EFI_P_EC_NOT_DETECTED 0x00000003\r
454#define EFI_P_EC_NOT_CONFIGURED 0x00000004\r
455#define EFI_P_EC_INTERFACE_ERROR 0x00000005\r
456#define EFI_P_EC_CONTROLLER_ERROR 0x00000006\r
457#define EFI_P_EC_INPUT_ERROR 0x00000007\r
458#define EFI_P_EC_OUTPUT_ERROR 0x00000008\r
459#define EFI_P_EC_RESOURCE_CONFLICT 0x00000009\r
460///@}\r
461\r
462//\r
463// Peripheral Class Unspecified Subclass Error Code definitions.\r
464//\r
465\r
466///\r
467/// Peripheral Class Keyboard Subclass Error Code definitions.\r
468///\r
469///@{\r
2f88bd3a
MK
470#define EFI_P_KEYBOARD_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
471#define EFI_P_KEYBOARD_EC_STUCK_KEY (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
472#define EFI_P_KEYBOARD_EC_BUFFER_FULL (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
b205f267 473///@}\r
474\r
475///\r
476/// Peripheral Class Mouse Subclass Error Code definitions.\r
477///\r
478///@{\r
2f88bd3a 479#define EFI_P_MOUSE_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
b205f267 480///@}\r
481\r
482//\r
483// Peripheral Class Local Console Subclass Error Code definitions.\r
484//\r
485\r
486//\r
487// Peripheral Class Remote Console Subclass Error Code definitions.\r
488//\r
489\r
490//\r
491// Peripheral Class Serial Port Subclass Error Code definitions.\r
492//\r
493\r
494//\r
495// Peripheral Class Parallel Port Subclass Error Code definitions.\r
496//\r
497\r
498//\r
499// Peripheral Class Fixed Media Subclass Error Code definitions.\r
500//\r
501\r
502//\r
503// Peripheral Class Removable Media Subclass Error Code definitions.\r
504//\r
505\r
506//\r
507// Peripheral Class Audio Input Subclass Error Code definitions.\r
508//\r
509\r
510//\r
511// Peripheral Class Audio Output Subclass Error Code definitions.\r
512//\r
513\r
514//\r
515// Peripheral Class LCD Device Subclass Error Code definitions.\r
516//\r
517\r
518//\r
519// Peripheral Class Network Subclass Error Code definitions.\r
520//\r
521\r
522///\r
523/// IO Bus Subclass definitions.\r
524/// Values of 14-127 are reserved for future use by this specification.\r
525/// Values of 128-255 are reserved for OEM use.\r
526///\r
527///@{\r
528#define EFI_IO_BUS_UNSPECIFIED (EFI_IO_BUS | 0x00000000)\r
529#define EFI_IO_BUS_PCI (EFI_IO_BUS | 0x00010000)\r
530#define EFI_IO_BUS_USB (EFI_IO_BUS | 0x00020000)\r
531#define EFI_IO_BUS_IBA (EFI_IO_BUS | 0x00030000)\r
532#define EFI_IO_BUS_AGP (EFI_IO_BUS | 0x00040000)\r
533#define EFI_IO_BUS_PC_CARD (EFI_IO_BUS | 0x00050000)\r
534#define EFI_IO_BUS_LPC (EFI_IO_BUS | 0x00060000)\r
535#define EFI_IO_BUS_SCSI (EFI_IO_BUS | 0x00070000)\r
536#define EFI_IO_BUS_ATA_ATAPI (EFI_IO_BUS | 0x00080000)\r
537#define EFI_IO_BUS_FC (EFI_IO_BUS | 0x00090000)\r
538#define EFI_IO_BUS_IP_NETWORK (EFI_IO_BUS | 0x000A0000)\r
539#define EFI_IO_BUS_SMBUS (EFI_IO_BUS | 0x000B0000)\r
540#define EFI_IO_BUS_I2C (EFI_IO_BUS | 0x000C0000)\r
541///@}\r
542\r
543///\r
544/// IO Bus Class Progress Code definitions.\r
545/// These are shared by all subclasses.\r
546///\r
547///@{\r
2f88bd3a
MK
548#define EFI_IOB_PC_INIT 0x00000000\r
549#define EFI_IOB_PC_RESET 0x00000001\r
550#define EFI_IOB_PC_DISABLE 0x00000002\r
551#define EFI_IOB_PC_DETECT 0x00000003\r
552#define EFI_IOB_PC_ENABLE 0x00000004\r
553#define EFI_IOB_PC_RECONFIG 0x00000005\r
554#define EFI_IOB_PC_HOTPLUG 0x00000006\r
b205f267 555///@}\r
556\r
557//\r
558// IO Bus Class Unspecified Subclass Progress Code definitions.\r
559//\r
560\r
561///\r
562/// IO Bus Class PCI Subclass Progress Code definitions.\r
563///\r
564///@{\r
baa6894a 565#define EFI_IOB_PCI_BUS_ENUM (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
566#define EFI_IOB_PCI_RES_ALLOC (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
567#define EFI_IOB_PCI_HPC_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
b205f267 568///@}\r
569\r
570//\r
571// IO Bus Class USB Subclass Progress Code definitions.\r
572//\r
573\r
574//\r
575// IO Bus Class IBA Subclass Progress Code definitions.\r
576//\r
577\r
578//\r
579// IO Bus Class AGP Subclass Progress Code definitions.\r
580//\r
581\r
582//\r
583// IO Bus Class PC Card Subclass Progress Code definitions.\r
584//\r
585\r
586//\r
587// IO Bus Class LPC Subclass Progress Code definitions.\r
588//\r
589\r
590//\r
591// IO Bus Class SCSI Subclass Progress Code definitions.\r
592//\r
593\r
594//\r
595// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.\r
596//\r
cffd2171
EL
597#define EFI_IOB_ATA_BUS_SMART_ENABLE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
598#define EFI_IOB_ATA_BUS_SMART_DISABLE (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
599#define EFI_IOB_ATA_BUS_SMART_OVERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
600#define EFI_IOB_ATA_BUS_SMART_UNDERTHRESHOLD (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
b205f267 601//\r
602// IO Bus Class FC Subclass Progress Code definitions.\r
603//\r
604\r
605//\r
606// IO Bus Class IP Network Subclass Progress Code definitions.\r
607//\r
608\r
609//\r
610// IO Bus Class SMBUS Subclass Progress Code definitions.\r
611//\r
612\r
613//\r
614// IO Bus Class I2C Subclass Progress Code definitions.\r
615//\r
616\r
617///\r
618/// IO Bus Class Error Code definitions.\r
619/// These are shared by all subclasses.\r
620///\r
621///@{\r
622#define EFI_IOB_EC_NON_SPECIFIC 0x00000000\r
623#define EFI_IOB_EC_DISABLED 0x00000001\r
624#define EFI_IOB_EC_NOT_SUPPORTED 0x00000002\r
625#define EFI_IOB_EC_NOT_DETECTED 0x00000003\r
626#define EFI_IOB_EC_NOT_CONFIGURED 0x00000004\r
627#define EFI_IOB_EC_INTERFACE_ERROR 0x00000005\r
628#define EFI_IOB_EC_CONTROLLER_ERROR 0x00000006\r
629#define EFI_IOB_EC_READ_ERROR 0x00000007\r
630#define EFI_IOB_EC_WRITE_ERROR 0x00000008\r
631#define EFI_IOB_EC_RESOURCE_CONFLICT 0x00000009\r
632///@}\r
633\r
634//\r
635// IO Bus Class Unspecified Subclass Error Code definitions.\r
636//\r
637\r
638///\r
639/// IO Bus Class PCI Subclass Error Code definitions.\r
640///\r
641///@{\r
2f88bd3a
MK
642#define EFI_IOB_PCI_EC_PERR (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
643#define EFI_IOB_PCI_EC_SERR (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
b205f267 644///@}\r
645\r
646//\r
647// IO Bus Class USB Subclass Error Code definitions.\r
648//\r
649\r
650//\r
651// IO Bus Class IBA Subclass Error Code definitions.\r
652//\r
653\r
654//\r
655// IO Bus Class AGP Subclass Error Code definitions.\r
656//\r
657\r
658//\r
659// IO Bus Class PC Card Subclass Error Code definitions.\r
660//\r
661\r
662//\r
663// IO Bus Class LPC Subclass Error Code definitions.\r
664//\r
665\r
666//\r
667// IO Bus Class SCSI Subclass Error Code definitions.\r
668//\r
669\r
670//\r
671// IO Bus Class ATA/ATAPI Subclass Error Code definitions.\r
672//\r
cffd2171
EL
673#define EFI_IOB_ATA_BUS_SMART_NOTSUPPORTED (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
674#define EFI_IOB_ATA_BUS_SMART_DISABLED (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
b205f267 675\r
676//\r
677// IO Bus Class FC Subclass Error Code definitions.\r
678//\r
679\r
680//\r
681// IO Bus Class IP Network Subclass Error Code definitions.\r
682//\r
683\r
684//\r
685// IO Bus Class SMBUS Subclass Error Code definitions.\r
686//\r
687\r
688//\r
689// IO Bus Class I2C Subclass Error Code definitions.\r
690//\r
691\r
692///\r
693/// Software Subclass definitions.\r
694/// Values of 14-127 are reserved for future use by this specification.\r
695/// Values of 128-255 are reserved for OEM use.\r
696///\r
697///@{\r
698#define EFI_SOFTWARE_UNSPECIFIED (EFI_SOFTWARE | 0x00000000)\r
699#define EFI_SOFTWARE_SEC (EFI_SOFTWARE | 0x00010000)\r
700#define EFI_SOFTWARE_PEI_CORE (EFI_SOFTWARE | 0x00020000)\r
701#define EFI_SOFTWARE_PEI_MODULE (EFI_SOFTWARE | 0x00030000)\r
702#define EFI_SOFTWARE_DXE_CORE (EFI_SOFTWARE | 0x00040000)\r
703#define EFI_SOFTWARE_DXE_BS_DRIVER (EFI_SOFTWARE | 0x00050000)\r
704#define EFI_SOFTWARE_DXE_RT_DRIVER (EFI_SOFTWARE | 0x00060000)\r
705#define EFI_SOFTWARE_SMM_DRIVER (EFI_SOFTWARE | 0x00070000)\r
706#define EFI_SOFTWARE_EFI_APPLICATION (EFI_SOFTWARE | 0x00080000)\r
707#define EFI_SOFTWARE_EFI_OS_LOADER (EFI_SOFTWARE | 0x00090000)\r
708#define EFI_SOFTWARE_RT (EFI_SOFTWARE | 0x000A0000)\r
709#define EFI_SOFTWARE_AL (EFI_SOFTWARE | 0x000B0000)\r
710#define EFI_SOFTWARE_EBC_EXCEPTION (EFI_SOFTWARE | 0x000C0000)\r
711#define EFI_SOFTWARE_IA32_EXCEPTION (EFI_SOFTWARE | 0x000D0000)\r
712#define EFI_SOFTWARE_IPF_EXCEPTION (EFI_SOFTWARE | 0x000E0000)\r
713#define EFI_SOFTWARE_PEI_SERVICE (EFI_SOFTWARE | 0x000F0000)\r
714#define EFI_SOFTWARE_EFI_BOOT_SERVICE (EFI_SOFTWARE | 0x00100000)\r
715#define EFI_SOFTWARE_EFI_RUNTIME_SERVICE (EFI_SOFTWARE | 0x00110000)\r
716#define EFI_SOFTWARE_EFI_DXE_SERVICE (EFI_SOFTWARE | 0x00120000)\r
31c21fd3 717#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000)\r
718#define EFI_SOFTWARE_ARM_EXCEPTION (EFI_SOFTWARE | 0x00140000)\r
719\r
b205f267 720///@}\r
d7dfd027
LG
721\r
722///\r
b205f267 723/// Software Class Progress Code definitions.\r
724/// These are shared by all subclasses.\r
d7dfd027 725///\r
b205f267 726///@{\r
727#define EFI_SW_PC_INIT 0x00000000\r
728#define EFI_SW_PC_LOAD 0x00000001\r
729#define EFI_SW_PC_INIT_BEGIN 0x00000002\r
730#define EFI_SW_PC_INIT_END 0x00000003\r
731#define EFI_SW_PC_AUTHENTICATE_BEGIN 0x00000004\r
732#define EFI_SW_PC_AUTHENTICATE_END 0x00000005\r
733#define EFI_SW_PC_INPUT_WAIT 0x00000006\r
734#define EFI_SW_PC_USER_SETUP 0x00000007\r
735///@}\r
736\r
737//\r
738// Software Class Unspecified Subclass Progress Code definitions.\r
739//\r
740\r
741///\r
742/// Software Class SEC Subclass Progress Code definitions.\r
743///\r
744///@{\r
2f88bd3a
MK
745#define EFI_SW_SEC_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
746#define EFI_SW_SEC_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
b205f267 747///@}\r
748\r
749///\r
750/// Software Class PEI Core Subclass Progress Code definitions.\r
751///\r
752///@{\r
753#define EFI_SW_PEI_CORE_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
754#define EFI_SW_PEI_CORE_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
755#define EFI_SW_PEI_CORE_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
756///@}\r
757\r
758///\r
759/// Software Class PEI Module Subclass Progress Code definitions.\r
d7dfd027 760///\r
b205f267 761///@{\r
f00864fa 762#define EFI_SW_PEI_PC_RECOVERY_BEGIN (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
763#define EFI_SW_PEI_PC_CAPSULE_LOAD (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
764#define EFI_SW_PEI_PC_CAPSULE_START (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
765#define EFI_SW_PEI_PC_RECOVERY_USER (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
766#define EFI_SW_PEI_PC_RECOVERY_AUTO (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
b85de87e 767#define EFI_SW_PEI_PC_S3_BOOT_SCRIPT (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
768#define EFI_SW_PEI_PC_OS_WAKE (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
f8683a4b 769#define EFI_SW_PEI_PC_S3_STARTED (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
b205f267 770///@}\r
771\r
772///\r
773/// Software Class DXE Core Subclass Progress Code definitions.\r
774///\r
775///@{\r
776#define EFI_SW_DXE_CORE_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
777#define EFI_SW_DXE_CORE_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
778#define EFI_SW_DXE_CORE_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
779#define EFI_SW_DXE_CORE_PC_START_DRIVER (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
780#define EFI_SW_DXE_CORE_PC_ARCH_READY (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
781///@}\r
782\r
783///\r
784/// Software Class DXE BS Driver Subclass Progress Code definitions.\r
785///\r
786///@{\r
2f88bd3a
MK
787#define EFI_SW_DXE_BS_PC_LEGACY_OPROM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
788#define EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
789#define EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
790#define EFI_SW_DXE_BS_PC_EXIT_BOOT_SERVICES_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
791#define EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
792#define EFI_SW_DXE_BS_PC_VARIABLE_SERVICES_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
793#define EFI_SW_DXE_BS_PC_VARIABLE_RECLAIM (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
794#define EFI_SW_DXE_BS_PC_ATTEMPT_BOOT_ORDER_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
795#define EFI_SW_DXE_BS_PC_CONFIG_RESET (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
796#define EFI_SW_DXE_BS_PC_CSM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
b205f267 797///@}\r
798\r
799//\r
800// Software Class SMM Driver Subclass Progress Code definitions.\r
801//\r
802\r
803//\r
804// Software Class EFI Application Subclass Progress Code definitions.\r
805//\r
806\r
807//\r
808// Software Class EFI OS Loader Subclass Progress Code definitions.\r
809//\r
810\r
811///\r
812/// Software Class EFI RT Subclass Progress Code definitions.\r
813///\r
814///@{\r
815#define EFI_SW_RT_PC_ENTRY_POINT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
816#define EFI_SW_RT_PC_HANDOFF_TO_NEXT (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
817#define EFI_SW_RT_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
818///@}\r
819\r
31c21fd3 820//\r
821// Software Class X64 Exception Subclass Progress Code definitions.\r
822//\r
823\r
824//\r
825// Software Class ARM Exception Subclass Progress Code definitions.\r
826//\r
827\r
b205f267 828//\r
829// Software Class EBC Exception Subclass Progress Code definitions.\r
830//\r
831\r
832//\r
833// Software Class IA32 Exception Subclass Progress Code definitions.\r
834//\r
835\r
836//\r
837// Software Class X64 Exception Subclass Progress Code definitions.\r
838//\r
839\r
840//\r
841// Software Class IPF Exception Subclass Progress Code definitions.\r
842//\r
843\r
844///\r
845/// Software Class PEI Services Subclass Progress Code definitions.\r
846///\r
847///@{\r
848#define EFI_SW_PS_PC_INSTALL_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
849#define EFI_SW_PS_PC_REINSTALL_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
850#define EFI_SW_PS_PC_LOCATE_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
851#define EFI_SW_PS_PC_NOTIFY_PPI (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
852#define EFI_SW_PS_PC_GET_BOOT_MODE (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
853#define EFI_SW_PS_PC_SET_BOOT_MODE (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
854#define EFI_SW_PS_PC_GET_HOB_LIST (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
855#define EFI_SW_PS_PC_CREATE_HOB (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
856#define EFI_SW_PS_PC_FFS_FIND_NEXT_VOLUME (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
857#define EFI_SW_PS_PC_FFS_FIND_NEXT_FILE (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
858#define EFI_SW_PS_PC_FFS_FIND_SECTION_DATA (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
859#define EFI_SW_PS_PC_INSTALL_PEI_MEMORY (EFI_SUBCLASS_SPECIFIC | 0x0000000B)\r
860#define EFI_SW_PS_PC_ALLOCATE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x0000000C)\r
861#define EFI_SW_PS_PC_ALLOCATE_POOL (EFI_SUBCLASS_SPECIFIC | 0x0000000D)\r
862#define EFI_SW_PS_PC_COPY_MEM (EFI_SUBCLASS_SPECIFIC | 0x0000000E)\r
863#define EFI_SW_PS_PC_SET_MEM (EFI_SUBCLASS_SPECIFIC | 0x0000000F)\r
864#define EFI_SW_PS_PC_RESET_SYSTEM (EFI_SUBCLASS_SPECIFIC | 0x00000010)\r
865#define EFI_SW_PS_PC_FFS_FIND_FILE_BY_NAME (EFI_SUBCLASS_SPECIFIC | 0x00000013)\r
866#define EFI_SW_PS_PC_FFS_GET_FILE_INFO (EFI_SUBCLASS_SPECIFIC | 0x00000014)\r
867#define EFI_SW_PS_PC_FFS_GET_VOLUME_INFO (EFI_SUBCLASS_SPECIFIC | 0x00000015)\r
868#define EFI_SW_PS_PC_FFS_REGISTER_FOR_SHADOW (EFI_SUBCLASS_SPECIFIC | 0x00000016)\r
869///@}\r
870\r
871///\r
872/// Software Class EFI Boot Services Subclass Progress Code definitions.\r
873///\r
874///@{\r
875#define EFI_SW_BS_PC_RAISE_TPL (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
876#define EFI_SW_BS_PC_RESTORE_TPL (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
877#define EFI_SW_BS_PC_ALLOCATE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
878#define EFI_SW_BS_PC_FREE_PAGES (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
879#define EFI_SW_BS_PC_GET_MEMORY_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
880#define EFI_SW_BS_PC_ALLOCATE_POOL (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
881#define EFI_SW_BS_PC_FREE_POOL (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
882#define EFI_SW_BS_PC_CREATE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
883#define EFI_SW_BS_PC_SET_TIMER (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
884#define EFI_SW_BS_PC_WAIT_FOR_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
885#define EFI_SW_BS_PC_SIGNAL_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
886#define EFI_SW_BS_PC_CLOSE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000B)\r
887#define EFI_SW_BS_PC_CHECK_EVENT (EFI_SUBCLASS_SPECIFIC | 0x0000000C)\r
888#define EFI_SW_BS_PC_INSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000D)\r
889#define EFI_SW_BS_PC_REINSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000E)\r
890#define EFI_SW_BS_PC_UNINSTALL_PROTOCOL_INTERFACE (EFI_SUBCLASS_SPECIFIC | 0x0000000F)\r
891#define EFI_SW_BS_PC_HANDLE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000010)\r
892#define EFI_SW_BS_PC_PC_HANDLE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000011)\r
893#define EFI_SW_BS_PC_REGISTER_PROTOCOL_NOTIFY (EFI_SUBCLASS_SPECIFIC | 0x00000012)\r
894#define EFI_SW_BS_PC_LOCATE_HANDLE (EFI_SUBCLASS_SPECIFIC | 0x00000013)\r
895#define EFI_SW_BS_PC_INSTALL_CONFIGURATION_TABLE (EFI_SUBCLASS_SPECIFIC | 0x00000014)\r
896#define EFI_SW_BS_PC_LOAD_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000015)\r
897#define EFI_SW_BS_PC_START_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000016)\r
898#define EFI_SW_BS_PC_EXIT (EFI_SUBCLASS_SPECIFIC | 0x00000017)\r
899#define EFI_SW_BS_PC_UNLOAD_IMAGE (EFI_SUBCLASS_SPECIFIC | 0x00000018)\r
900#define EFI_SW_BS_PC_EXIT_BOOT_SERVICES (EFI_SUBCLASS_SPECIFIC | 0x00000019)\r
901#define EFI_SW_BS_PC_GET_NEXT_MONOTONIC_COUNT (EFI_SUBCLASS_SPECIFIC | 0x0000001A)\r
902#define EFI_SW_BS_PC_STALL (EFI_SUBCLASS_SPECIFIC | 0x0000001B)\r
903#define EFI_SW_BS_PC_SET_WATCHDOG_TIMER (EFI_SUBCLASS_SPECIFIC | 0x0000001C)\r
904#define EFI_SW_BS_PC_CONNECT_CONTROLLER (EFI_SUBCLASS_SPECIFIC | 0x0000001D)\r
905#define EFI_SW_BS_PC_DISCONNECT_CONTROLLER (EFI_SUBCLASS_SPECIFIC | 0x0000001E)\r
906#define EFI_SW_BS_PC_OPEN_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x0000001F)\r
907#define EFI_SW_BS_PC_CLOSE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000020)\r
908#define EFI_SW_BS_PC_OPEN_PROTOCOL_INFORMATION (EFI_SUBCLASS_SPECIFIC | 0x00000021)\r
909#define EFI_SW_BS_PC_PROTOCOLS_PER_HANDLE (EFI_SUBCLASS_SPECIFIC | 0x00000022)\r
910#define EFI_SW_BS_PC_LOCATE_HANDLE_BUFFER (EFI_SUBCLASS_SPECIFIC | 0x00000023)\r
911#define EFI_SW_BS_PC_LOCATE_PROTOCOL (EFI_SUBCLASS_SPECIFIC | 0x00000024)\r
912#define EFI_SW_BS_PC_INSTALL_MULTIPLE_INTERFACES (EFI_SUBCLASS_SPECIFIC | 0x00000025)\r
913#define EFI_SW_BS_PC_UNINSTALL_MULTIPLE_INTERFACES (EFI_SUBCLASS_SPECIFIC | 0x00000026)\r
914#define EFI_SW_BS_PC_CALCULATE_CRC_32 (EFI_SUBCLASS_SPECIFIC | 0x00000027)\r
915#define EFI_SW_BS_PC_COPY_MEM (EFI_SUBCLASS_SPECIFIC | 0x00000028)\r
916#define EFI_SW_BS_PC_SET_MEM (EFI_SUBCLASS_SPECIFIC | 0x00000029)\r
917#define EFI_SW_BS_PC_CREATE_EVENT_EX (EFI_SUBCLASS_SPECIFIC | 0x0000002A)\r
918///@}\r
919\r
920///\r
921/// Software Class EFI Runtime Services Subclass Progress Code definitions.\r
922///\r
923///@{\r
924#define EFI_SW_RS_PC_GET_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
925#define EFI_SW_RS_PC_SET_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
926#define EFI_SW_RS_PC_GET_WAKEUP_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
927#define EFI_SW_RS_PC_SET_WAKEUP_TIME (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
928#define EFI_SW_RS_PC_SET_VIRTUAL_ADDRESS_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
929#define EFI_SW_RS_PC_CONVERT_POINTER (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
930#define EFI_SW_RS_PC_GET_VARIABLE (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
931#define EFI_SW_RS_PC_GET_NEXT_VARIABLE_NAME (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
932#define EFI_SW_RS_PC_SET_VARIABLE (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
933#define EFI_SW_RS_PC_GET_NEXT_HIGH_MONOTONIC_COUNT (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
934#define EFI_SW_RS_PC_RESET_SYSTEM (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
935#define EFI_SW_RS_PC_UPDATE_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x0000000B)\r
936#define EFI_SW_RS_PC_QUERY_CAPSULE_CAPABILITIES (EFI_SUBCLASS_SPECIFIC | 0x0000000C)\r
937#define EFI_SW_RS_PC_QUERY_VARIABLE_INFO (EFI_SUBCLASS_SPECIFIC | 0x0000000D)\r
938///@}\r
939\r
940///\r
941/// Software Class EFI DXE Services Subclass Progress Code definitions\r
942///\r
943///@{\r
944#define EFI_SW_DS_PC_ADD_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
945#define EFI_SW_DS_PC_ALLOCATE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
946#define EFI_SW_DS_PC_FREE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
947#define EFI_SW_DS_PC_REMOVE_MEMORY_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
948#define EFI_SW_DS_PC_GET_MEMORY_SPACE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
949#define EFI_SW_DS_PC_SET_MEMORY_SPACE_ATTRIBUTES (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
950#define EFI_SW_DS_PC_GET_MEMORY_SPACE_MAP (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
951#define EFI_SW_DS_PC_ADD_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
952#define EFI_SW_DS_PC_ALLOCATE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
953#define EFI_SW_DS_PC_FREE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
954#define EFI_SW_DS_PC_REMOVE_IO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x0000000A)\r
955#define EFI_SW_DS_PC_GET_IO_SPACE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x0000000B)\r
956#define EFI_SW_DS_PC_GET_IO_SPACE_MAP (EFI_SUBCLASS_SPECIFIC | 0x0000000C)\r
957#define EFI_SW_DS_PC_DISPATCH (EFI_SUBCLASS_SPECIFIC | 0x0000000D)\r
958#define EFI_SW_DS_PC_SCHEDULE (EFI_SUBCLASS_SPECIFIC | 0x0000000E)\r
959#define EFI_SW_DS_PC_TRUST (EFI_SUBCLASS_SPECIFIC | 0x0000000F)\r
960#define EFI_SW_DS_PC_PROCESS_FIRMWARE_VOLUME (EFI_SUBCLASS_SPECIFIC | 0x00000010)\r
961///@}\r
962\r
963///\r
964/// Software Class Error Code definitions.\r
965/// These are shared by all subclasses.\r
966///\r
967///@{\r
968#define EFI_SW_EC_NON_SPECIFIC 0x00000000\r
969#define EFI_SW_EC_LOAD_ERROR 0x00000001\r
970#define EFI_SW_EC_INVALID_PARAMETER 0x00000002\r
971#define EFI_SW_EC_UNSUPPORTED 0x00000003\r
972#define EFI_SW_EC_INVALID_BUFFER 0x00000004\r
973#define EFI_SW_EC_OUT_OF_RESOURCES 0x00000005\r
974#define EFI_SW_EC_ABORTED 0x00000006\r
975#define EFI_SW_EC_ILLEGAL_SOFTWARE_STATE 0x00000007\r
976#define EFI_SW_EC_ILLEGAL_HARDWARE_STATE 0x00000008\r
977#define EFI_SW_EC_START_ERROR 0x00000009\r
978#define EFI_SW_EC_BAD_DATE_TIME 0x0000000A\r
979#define EFI_SW_EC_CFG_INVALID 0x0000000B\r
980#define EFI_SW_EC_CFG_CLR_REQUEST 0x0000000C\r
981#define EFI_SW_EC_CFG_DEFAULT 0x0000000D\r
982#define EFI_SW_EC_PWD_INVALID 0x0000000E\r
983#define EFI_SW_EC_PWD_CLR_REQUEST 0x0000000F\r
984#define EFI_SW_EC_PWD_CLEARED 0x00000010\r
985#define EFI_SW_EC_EVENT_LOG_FULL 0x00000011\r
f8683a4b
RP
986#define EFI_SW_EC_WRITE_PROTECTED 0x00000012\r
987#define EFI_SW_EC_FV_CORRUPTED 0x00000013\r
b205f267 988///@}\r
989\r
990//\r
991// Software Class Unspecified Subclass Error Code definitions.\r
992//\r
993\r
994//\r
995// Software Class SEC Subclass Error Code definitions.\r
996//\r
997\r
998///\r
999/// Software Class PEI Core Subclass Error Code definitions.\r
1000///\r
1001///@{\r
1002#define EFI_SW_PEI_CORE_EC_DXE_CORRUPT (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
1003#define EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
1004#define EFI_SW_PEI_CORE_EC_MEMORY_NOT_INSTALLED (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
1005///@}\r
1006\r
1007///\r
1008/// Software Class PEI Module Subclass Error Code definitions.\r
1009///\r
1010///@{\r
2f88bd3a
MK
1011#define EFI_SW_PEI_EC_NO_RECOVERY_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
1012#define EFI_SW_PEI_EC_INVALID_CAPSULE_DESCRIPTOR (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
1013#define EFI_SW_PEI_EC_S3_RESUME_PPI_NOT_FOUND (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
1014#define EFI_SW_PEI_EC_S3_BOOT_SCRIPT_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
1015#define EFI_SW_PEI_EC_S3_OS_WAKE_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
1016#define EFI_SW_PEI_EC_S3_RESUME_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
1017#define EFI_SW_PEI_EC_RECOVERY_PPI_NOT_FOUND (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
1018#define EFI_SW_PEI_EC_RECOVERY_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000007)\r
1019#define EFI_SW_PEI_EC_S3_RESUME_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000008)\r
1020#define EFI_SW_PEI_EC_INVALID_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000009)\r
b205f267 1021///@}\r
1022\r
1023///\r
1024/// Software Class DXE Foundation Subclass Error Code definitions.\r
1025///\r
1026///@{\r
2f88bd3a 1027#define EFI_SW_DXE_CORE_EC_NO_ARCH (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
b205f267 1028///@}\r
1029\r
b205f267 1030///\r
1031/// Software Class DXE Boot Service Driver Subclass Error Code definitions.\r
1032///\r
1033///@{\r
1034#define EFI_SW_DXE_BS_EC_LEGACY_OPROM_NO_SPACE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
1035#define EFI_SW_DXE_BS_EC_INVALID_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
1036#define EFI_SW_DXE_BS_EC_BOOT_OPTION_LOAD_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
1037#define EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
1038#define EFI_SW_DXE_BS_EC_INVALID_IDE_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
1039///@}\r
1040\r
1041//\r
1042// Software Class DXE Runtime Service Driver Subclass Error Code definitions.\r
1043//\r
1044\r
1045//\r
1046// Software Class SMM Driver Subclass Error Code definitions.\r
1047//\r
1048\r
1049//\r
1050// Software Class EFI Application Subclass Error Code definitions.\r
1051//\r
1052\r
1053//\r
1054// Software Class EFI OS Loader Subclass Error Code definitions.\r
1055//\r
1056\r
1057//\r
1058// Software Class EFI RT Subclass Error Code definitions.\r
1059//\r
1060\r
1061//\r
1062// Software Class EFI AL Subclass Error Code definitions.\r
1063//\r
1064\r
1065///\r
1066/// Software Class EBC Exception Subclass Error Code definitions.\r
1067/// These exceptions are derived from the debug protocol definitions in the EFI\r
1068/// specification.\r
1069///\r
1070///@{\r
1071#define EFI_SW_EC_EBC_UNDEFINED 0x00000000\r
1072#define EFI_SW_EC_EBC_DIVIDE_ERROR EXCEPT_EBC_DIVIDE_ERROR\r
1073#define EFI_SW_EC_EBC_DEBUG EXCEPT_EBC_DEBUG\r
1074#define EFI_SW_EC_EBC_BREAKPOINT EXCEPT_EBC_BREAKPOINT\r
1075#define EFI_SW_EC_EBC_OVERFLOW EXCEPT_EBC_OVERFLOW\r
1076#define EFI_SW_EC_EBC_INVALID_OPCODE EXCEPT_EBC_INVALID_OPCODE\r
1077#define EFI_SW_EC_EBC_STACK_FAULT EXCEPT_EBC_STACK_FAULT\r
1078#define EFI_SW_EC_EBC_ALIGNMENT_CHECK EXCEPT_EBC_ALIGNMENT_CHECK\r
1079#define EFI_SW_EC_EBC_INSTRUCTION_ENCODING EXCEPT_EBC_INSTRUCTION_ENCODING\r
1080#define EFI_SW_EC_EBC_BAD_BREAK EXCEPT_EBC_BAD_BREAK\r
1081#define EFI_SW_EC_EBC_STEP EXCEPT_EBC_STEP\r
1082///@}\r
1083\r
1084///\r
1085/// Software Class IA32 Exception Subclass Error Code definitions.\r
1086/// These exceptions are derived from the debug protocol definitions in the EFI\r
1087/// specification.\r
1088///\r
1089///@{\r
1090#define EFI_SW_EC_IA32_DIVIDE_ERROR EXCEPT_IA32_DIVIDE_ERROR\r
1091#define EFI_SW_EC_IA32_DEBUG EXCEPT_IA32_DEBUG\r
1092#define EFI_SW_EC_IA32_NMI EXCEPT_IA32_NMI\r
1093#define EFI_SW_EC_IA32_BREAKPOINT EXCEPT_IA32_BREAKPOINT\r
1094#define EFI_SW_EC_IA32_OVERFLOW EXCEPT_IA32_OVERFLOW\r
1095#define EFI_SW_EC_IA32_BOUND EXCEPT_IA32_BOUND\r
1096#define EFI_SW_EC_IA32_INVALID_OPCODE EXCEPT_IA32_INVALID_OPCODE\r
1097#define EFI_SW_EC_IA32_DOUBLE_FAULT EXCEPT_IA32_DOUBLE_FAULT\r
1098#define EFI_SW_EC_IA32_INVALID_TSS EXCEPT_IA32_INVALID_TSS\r
1099#define EFI_SW_EC_IA32_SEG_NOT_PRESENT EXCEPT_IA32_SEG_NOT_PRESENT\r
1100#define EFI_SW_EC_IA32_STACK_FAULT EXCEPT_IA32_STACK_FAULT\r
1101#define EFI_SW_EC_IA32_GP_FAULT EXCEPT_IA32_GP_FAULT\r
1102#define EFI_SW_EC_IA32_PAGE_FAULT EXCEPT_IA32_PAGE_FAULT\r
1103#define EFI_SW_EC_IA32_FP_ERROR EXCEPT_IA32_FP_ERROR\r
1104#define EFI_SW_EC_IA32_ALIGNMENT_CHECK EXCEPT_IA32_ALIGNMENT_CHECK\r
1105#define EFI_SW_EC_IA32_MACHINE_CHECK EXCEPT_IA32_MACHINE_CHECK\r
1106#define EFI_SW_EC_IA32_SIMD EXCEPT_IA32_SIMD\r
1107///@}\r
1108\r
1109///\r
1110/// Software Class IPF Exception Subclass Error Code definitions.\r
1111/// These exceptions are derived from the debug protocol definitions in the EFI\r
1112/// specification.\r
1113///\r
1114///@{\r
1115#define EFI_SW_EC_IPF_ALT_DTLB EXCEPT_IPF_ALT_DTLB\r
1116#define EFI_SW_EC_IPF_DNESTED_TLB EXCEPT_IPF_DNESTED_TLB\r
1117#define EFI_SW_EC_IPF_BREAKPOINT EXCEPT_IPF_BREAKPOINT\r
1118#define EFI_SW_EC_IPF_EXTERNAL_INTERRUPT EXCEPT_IPF_EXTERNAL_INTERRUPT\r
1119#define EFI_SW_EC_IPF_GEN_EXCEPT EXCEPT_IPF_GEN_EXCEPT\r
1120#define EFI_SW_EC_IPF_NAT_CONSUMPTION EXCEPT_IPF_NAT_CONSUMPTION\r
1121#define EFI_SW_EC_IPF_DEBUG_EXCEPT EXCEPT_IPF_DEBUG_EXCEPT\r
1122#define EFI_SW_EC_IPF_UNALIGNED_ACCESS EXCEPT_IPF_UNALIGNED_ACCESS\r
1123#define EFI_SW_EC_IPF_FP_FAULT EXCEPT_IPF_FP_FAULT\r
1124#define EFI_SW_EC_IPF_FP_TRAP EXCEPT_IPF_FP_TRAP\r
1125#define EFI_SW_EC_IPF_TAKEN_BRANCH EXCEPT_IPF_TAKEN_BRANCH\r
1126#define EFI_SW_EC_IPF_SINGLE_STEP EXCEPT_IPF_SINGLE_STEP\r
1127///@}\r
1128\r
1129///\r
1130/// Software Class PEI Service Subclass Error Code definitions.\r
1131///\r
1132///@{\r
1133#define EFI_SW_PS_EC_RESET_NOT_AVAILABLE (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
1134#define EFI_SW_PS_EC_MEMORY_INSTALLED_TWICE (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
1135///@}\r
1136\r
1137//\r
1138// Software Class EFI Boot Service Subclass Error Code definitions.\r
1139//\r
1140\r
1141//\r
1142// Software Class EFI Runtime Service Subclass Error Code definitions.\r
1143//\r
1144\r
31c21fd3 1145///\r
1146/// Software Class EFI DXE Service Subclass Error Code definitions.\r
1147///\r
1148///@{\r
2f88bd3a
MK
1149#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
1150#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000006)\r
31c21fd3 1151///@}\r
1152\r
1153///\r
1154/// Software Class DXE RT Driver Subclass Progress Code definitions.\r
1155///\r
1156///@{\r
2f88bd3a
MK
1157#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)\r
1158#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)\r
1159#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)\r
1160#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)\r
1161#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)\r
1162#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)\r
31c21fd3 1163///@}\r
1164\r
1165///\r
1166/// Software Class X64 Exception Subclass Error Code definitions.\r
1167/// These exceptions are derived from the debug protocol\r
1168/// definitions in the EFI specification.\r
1169///\r
1170///@{\r
2f88bd3a
MK
1171#define EFI_SW_EC_X64_DIVIDE_ERROR EXCEPT_X64_DIVIDE_ERROR\r
1172#define EFI_SW_EC_X64_DEBUG EXCEPT_X64_DEBUG\r
1173#define EFI_SW_EC_X64_NMI EXCEPT_X64_NMI\r
1174#define EFI_SW_EC_X64_BREAKPOINT EXCEPT_X64_BREAKPOINT\r
1175#define EFI_SW_EC_X64_OVERFLOW EXCEPT_X64_OVERFLOW\r
1176#define EFI_SW_EC_X64_BOUND EXCEPT_X64_BOUND\r
1177#define EFI_SW_EC_X64_INVALID_OPCODE EXCEPT_X64_INVALID_OPCODE\r
1178#define EFI_SW_EC_X64_DOUBLE_FAULT EXCEPT_X64_DOUBLE_FAULT\r
1179#define EFI_SW_EC_X64_INVALID_TSS EXCEPT_X64_INVALID_TSS\r
1180#define EFI_SW_EC_X64_SEG_NOT_PRESENT EXCEPT_X64_SEG_NOT_PRESENT\r
1181#define EFI_SW_EC_X64_STACK_FAULT EXCEPT_X64_STACK_FAULT\r
1182#define EFI_SW_EC_X64_GP_FAULT EXCEPT_X64_GP_FAULT\r
1183#define EFI_SW_EC_X64_PAGE_FAULT EXCEPT_X64_PAGE_FAULT\r
1184#define EFI_SW_EC_X64_FP_ERROR EXCEPT_X64_FP_ERROR\r
1185#define EFI_SW_EC_X64_ALIGNMENT_CHECK EXCEPT_X64_ALIGNMENT_CHECK\r
1186#define EFI_SW_EC_X64_MACHINE_CHECK EXCEPT_X64_MACHINE_CHECK\r
1187#define EFI_SW_EC_X64_SIMD EXCEPT_X64_SIMD\r
31c21fd3 1188///@}\r
1189\r
1190///\r
1191/// Software Class ARM Exception Subclass Error Code definitions.\r
1192/// These exceptions are derived from the debug protocol\r
1193/// definitions in the EFI specification.\r
1194///\r
1195///@{\r
2f88bd3a
MK
1196#define EFI_SW_EC_ARM_RESET EXCEPT_ARM_RESET\r
1197#define EFI_SW_EC_ARM_UNDEFINED_INSTRUCTION EXCEPT_ARM_UNDEFINED_INSTRUCTION\r
1198#define EFI_SW_EC_ARM_SOFTWARE_INTERRUPT EXCEPT_ARM_SOFTWARE_INTERRUPT\r
1199#define EFI_SW_EC_ARM_PREFETCH_ABORT EXCEPT_ARM_PREFETCH_ABORT\r
1200#define EFI_SW_EC_ARM_DATA_ABORT EXCEPT_ARM_DATA_ABORT\r
1201#define EFI_SW_EC_ARM_RESERVED EXCEPT_ARM_RESERVED\r
1202#define EFI_SW_EC_ARM_IRQ EXCEPT_ARM_IRQ\r
1203#define EFI_SW_EC_ARM_FIQ EXCEPT_ARM_FIQ\r
31c21fd3 1204///@}\r
d7dfd027
LG
1205\r
1206#endif\r