1 /** @file 2 Include file matches things in PI for multiple module types. 3 4 Copyright (c) 2006 - 2008, 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 PI Version 1.0 15 16 **/ 17 18 #ifndef __PI_MULTIPHASE_H__ 19 #define __PI_MULTIPHASE_H__ 20 21 #include <gpxe/efi/Uefi/UefiMultiPhase.h> 22 23 #include <gpxe/efi/Pi/PiFirmwareVolume.h> 24 #include <gpxe/efi/Pi/PiFirmwareFile.h> 25 #include <gpxe/efi/Pi/PiBootMode.h> 26 27 #include <gpxe/efi/Pi/PiHob.h> 28 #include <gpxe/efi/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 // 76 // A Status Code Value is made up of the class, subclass, and 77 // an operation. 78 // 79 #define EFI_STATUS_CODE_CLASS_MASK 0xFF000000 80 #define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000 81 #define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF 82 83 /// 84 /// Definition of Status Code extended data header. 85 /// The data will follow HeaderSize bytes from the beginning of 86 /// the structure and is Size bytes long. 87 /// 88 typedef struct { 89 UINT16 HeaderSize; 90 UINT16 Size; 91 EFI_GUID Type; 92 } EFI_STATUS_CODE_DATA; 93 94 95 // 96 // Bit values for Authentication Status 97 // 98 #define EFI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01 99 #define EFI_AUTH_STATUS_IMAGE_SIGNED 0x02 100 #define EFI_AUTH_STATUS_NOT_TESTED 0x04 101 #define EFI_AUTH_STATUS_TEST_FAILED 0x08 102 #define EFI_AUTH_STATUS_ALL 0x0f 103 104 #endif 105