2 Include file matches things in PI for multiple module types.
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
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 @par Revision Reference:
18 #ifndef __PI_MULTIPHASE_H__
19 #define __PI_MULTIPHASE_H__
21 #include <Uefi/UefiMultiPhase.h>
23 #include <Pi/PiFirmwareVolume.h>
24 #include <Pi/PiFirmwareFile.h>
25 #include <Pi/PiBootMode.h>
28 #include <Pi/PiDependency.h>
31 // Status Code Type Definition
33 typedef UINT32 EFI_STATUS_CODE_TYPE
;
36 // A Status Code Type is made up of the code type and severity
37 // All values masked by EFI_STATUS_CODE_RESERVED_MASK are
38 // reserved for use by this specification.
40 #define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
41 #define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
42 #define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
45 // Definition of code types, all other values masked by
46 // EFI_STATUS_CODE_TYPE_MASK are reserved for use by
47 // this specification.
49 #define EFI_PROGRESS_CODE 0x00000001
50 #define EFI_ERROR_CODE 0x00000002
51 #define EFI_DEBUG_CODE 0x00000003
54 // Definitions of severities, all other values masked by
55 // EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by
56 // this specification.
57 // Uncontained errors are major errors that could not contained
58 // to the specific component that is reporting the error
59 // For example, if a memory error was not detected early enough,
60 // the bad data could be consumed by other drivers.
62 #define EFI_ERROR_MINOR 0x40000000
63 #define EFI_ERROR_MAJOR 0x80000000
64 #define EFI_ERROR_UNRECOVERED 0x90000000
65 #define EFI_ERROR_UNCONTAINED 0xa0000000
68 // Status Code Value Definition
70 typedef UINT32 EFI_STATUS_CODE_VALUE
;
72 // A Status Code Value is made up of the class, subclass, and
75 #define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
76 #define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
77 #define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
79 // Definition of Status Code extended data header.
80 // The data will follow HeaderSize bytes from the beginning of
81 // the structure and is Size bytes long.
87 } EFI_STATUS_CODE_DATA
;