~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/ipxe/src/include/ipxe/efi/Pi/PiStatusCode.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

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