PiMultiPhase.h

Go to the documentation of this file.
00001 /** @file
00002   Include file matches things in PI for multiple module types.
00003 
00004   Copyright (c) 2006 - 2008, Intel Corporation
00005   All rights reserved. This program and the accompanying materials
00006   are licensed and made available under the terms and conditions of the BSD License
00007   which accompanies this distribution.  The full text of the license may be found at
00008   http://opensource.org/licenses/bsd-license.php
00009 
00010   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
00011   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
00012 
00013   @par Revision Reference:
00014   PI Version 1.0
00015 
00016 **/
00017 
00018 #ifndef __PI_MULTIPHASE_H__
00019 #define __PI_MULTIPHASE_H__
00020 
00021 #include <gpxe/efi/Uefi/UefiMultiPhase.h>
00022 
00023 #include <gpxe/efi/Pi/PiFirmwareVolume.h>
00024 #include <gpxe/efi/Pi/PiFirmwareFile.h>
00025 #include <gpxe/efi/Pi/PiBootMode.h>
00026 
00027 #include <gpxe/efi/Pi/PiHob.h>
00028 #include <gpxe/efi/Pi/PiDependency.h>
00029 
00030 
00031 #define EFI_NOT_AVAILABLE_YET   EFIERR (32)
00032 
00033 ///
00034 /// Status Code Type Definition
00035 ///
00036 typedef UINT32  EFI_STATUS_CODE_TYPE;
00037 
00038 //
00039 // A Status Code Type is made up of the code type and severity
00040 // All values masked by EFI_STATUS_CODE_RESERVED_MASK are
00041 // reserved for use by this specification.
00042 //
00043 #define EFI_STATUS_CODE_TYPE_MASK     0x000000FF
00044 #define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
00045 #define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
00046 
00047 //
00048 // Definition of code types, all other values masked by
00049 // EFI_STATUS_CODE_TYPE_MASK are reserved for use by
00050 // this specification.
00051 //
00052 #define EFI_PROGRESS_CODE             0x00000001
00053 #define EFI_ERROR_CODE                0x00000002
00054 #define EFI_DEBUG_CODE                0x00000003
00055 
00056 //
00057 // Definitions of severities, all other values masked by
00058 // EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by
00059 // this specification.
00060 // Uncontained errors are major errors that could not contained
00061 // to the specific component that is reporting the error
00062 // For example, if a memory error was not detected early enough,
00063 // the bad data could be consumed by other drivers.
00064 //
00065 #define EFI_ERROR_MINOR               0x40000000
00066 #define EFI_ERROR_MAJOR               0x80000000
00067 #define EFI_ERROR_UNRECOVERED         0x90000000
00068 #define EFI_ERROR_UNCONTAINED         0xa0000000
00069 
00070 ///
00071 /// Status Code Value Definition
00072 ///
00073 typedef UINT32 EFI_STATUS_CODE_VALUE;
00074 
00075 //
00076 // A Status Code Value is made up of the class, subclass, and
00077 // an operation.
00078 //
00079 #define EFI_STATUS_CODE_CLASS_MASK      0xFF000000
00080 #define EFI_STATUS_CODE_SUBCLASS_MASK   0x00FF0000
00081 #define EFI_STATUS_CODE_OPERATION_MASK  0x0000FFFF
00082 
00083 ///
00084 /// Definition of Status Code extended data header.
00085 /// The data will follow HeaderSize bytes from the beginning of
00086 /// the structure and is Size bytes long.
00087 ///
00088 typedef struct {
00089   UINT16    HeaderSize;
00090   UINT16    Size;
00091   EFI_GUID  Type;
00092 } EFI_STATUS_CODE_DATA;
00093 
00094 
00095 //
00096 // Bit values for Authentication Status
00097 //
00098 #define EFI_AUTH_STATUS_PLATFORM_OVERRIDE   0x01
00099 #define EFI_AUTH_STATUS_IMAGE_SIGNED        0x02
00100 #define EFI_AUTH_STATUS_NOT_TESTED          0x04
00101 #define EFI_AUTH_STATUS_TEST_FAILED         0x08
00102 #define EFI_AUTH_STATUS_ALL                 0x0f
00103 
00104 #endif

Generated on Tue Apr 6 20:01:07 2010 for gPXE by  doxygen 1.5.7.1