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