]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Pi/PiMultiPhase.h
Add EFI_NOT_AVAILABLE_YET in MdePkg and change the value to EFIERR(32) to avoid the...
[mirror_edk2.git] / MdePkg / Include / Pi / PiMultiPhase.h
1 /** @file
2 Include file matches things in PI for multiple module types.
3
4 Copyright (c) 2006 - 2007, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
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 Version 1.0.
15
16 **/
17
18 #ifndef __PI_MULTIPHASE_H__
19 #define __PI_MULTIPHASE_H__
20
21 #include <Uefi/UefiMultiPhase.h>
22
23 #include <Pi/PiFirmwareVolume.h>
24 #include <Pi/PiFirmwareFile.h>
25 #include <Pi/PiBootMode.h>
26
27 #include <Pi/PiHob.h>
28 #include <Pi/PiDependency.h>
29
30
31 #define EFI_NOT_AVAILABLE_YET EFIERR (32)
32
33 //
34 // Status Code Type Definition
35 //
36 typedef UINT32 EFI_STATUS_CODE_TYPE;
37
38 //
39 // A Status Code Type is made up of the code type and severity
40 // All values masked by EFI_STATUS_CODE_RESERVED_MASK are
41 // reserved for use by this specification.
42 //
43 #define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
44 #define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
45 #define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
46
47 //
48 // Definition of code types, all other values masked by
49 // EFI_STATUS_CODE_TYPE_MASK are reserved for use by
50 // this specification.
51 //
52 #define EFI_PROGRESS_CODE 0x00000001
53 #define EFI_ERROR_CODE 0x00000002
54 #define EFI_DEBUG_CODE 0x00000003
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 #define EFI_ERROR_MINOR 0x40000000
66 #define EFI_ERROR_MAJOR 0x80000000
67 #define EFI_ERROR_UNRECOVERED 0x90000000
68 #define EFI_ERROR_UNCONTAINED 0xa0000000
69
70 //
71 // Status Code Value Definition
72 //
73 typedef UINT32 EFI_STATUS_CODE_VALUE;
74 //
75 // A Status Code Value is made up of the class, subclass, and
76 // an operation.
77 //
78 #define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
79 #define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
80 #define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
81 //
82 // Definition of Status Code extended data header.
83 // The data will follow HeaderSize bytes from the beginning of
84 // the structure and is Size bytes long.
85 //
86 typedef struct {
87 UINT16 HeaderSize;
88 UINT16 Size;
89 EFI_GUID Type;
90 } EFI_STATUS_CODE_DATA;
91
92
93 //
94 // Bit values for AuthenticationStatus
95 //
96 #define EFI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
97 #define EFI_AUTH_STATUS_IMAGE_SIGNED 0x02
98 #define EFI_AUTH_STATUS_NOT_TESTED 0x04
99 #define EFI_AUTH_STATUS_TEST_FAILED 0x08
100
101 #endif