Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

PiMultiPhase.h 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /** @file
  2. Include file matches things in PI for multiple module types.
  3. Copyright (c) 2006 - 2008, Intel Corporation
  4. All rights reserved. This program and the accompanying materials
  5. are licensed and made available under the terms and conditions of the BSD License
  6. which accompanies this distribution. The full text of the license may be found at
  7. http://opensource.org/licenses/bsd-license.php
  8. THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
  10. @par Revision Reference:
  11. PI Version 1.0
  12. **/
  13. #ifndef __PI_MULTIPHASE_H__
  14. #define __PI_MULTIPHASE_H__
  15. #include <gpxe/efi/Uefi/UefiMultiPhase.h>
  16. #include <gpxe/efi/Pi/PiFirmwareVolume.h>
  17. #include <gpxe/efi/Pi/PiFirmwareFile.h>
  18. #include <gpxe/efi/Pi/PiBootMode.h>
  19. #include <gpxe/efi/Pi/PiHob.h>
  20. #include <gpxe/efi/Pi/PiDependency.h>
  21. #define EFI_NOT_AVAILABLE_YET EFIERR (32)
  22. ///
  23. /// Status Code Type Definition
  24. ///
  25. typedef UINT32 EFI_STATUS_CODE_TYPE;
  26. //
  27. // A Status Code Type is made up of the code type and severity
  28. // All values masked by EFI_STATUS_CODE_RESERVED_MASK are
  29. // reserved for use by this specification.
  30. //
  31. #define EFI_STATUS_CODE_TYPE_MASK 0x000000FF
  32. #define EFI_STATUS_CODE_SEVERITY_MASK 0xFF000000
  33. #define EFI_STATUS_CODE_RESERVED_MASK 0x00FFFF00
  34. //
  35. // Definition of code types, all other values masked by
  36. // EFI_STATUS_CODE_TYPE_MASK are reserved for use by
  37. // this specification.
  38. //
  39. #define EFI_PROGRESS_CODE 0x00000001
  40. #define EFI_ERROR_CODE 0x00000002
  41. #define EFI_DEBUG_CODE 0x00000003
  42. //
  43. // Definitions of severities, all other values masked by
  44. // EFI_STATUS_CODE_SEVERITY_MASK are reserved for use by
  45. // this specification.
  46. // Uncontained errors are major errors that could not contained
  47. // to the specific component that is reporting the error
  48. // For example, if a memory error was not detected early enough,
  49. // the bad data could be consumed by other drivers.
  50. //
  51. #define EFI_ERROR_MINOR 0x40000000
  52. #define EFI_ERROR_MAJOR 0x80000000
  53. #define EFI_ERROR_UNRECOVERED 0x90000000
  54. #define EFI_ERROR_UNCONTAINED 0xa0000000
  55. ///
  56. /// Status Code Value Definition
  57. ///
  58. typedef UINT32 EFI_STATUS_CODE_VALUE;
  59. //
  60. // A Status Code Value is made up of the class, subclass, and
  61. // an operation.
  62. //
  63. #define EFI_STATUS_CODE_CLASS_MASK 0xFF000000
  64. #define EFI_STATUS_CODE_SUBCLASS_MASK 0x00FF0000
  65. #define EFI_STATUS_CODE_OPERATION_MASK 0x0000FFFF
  66. ///
  67. /// Definition of Status Code extended data header.
  68. /// The data will follow HeaderSize bytes from the beginning of
  69. /// the structure and is Size bytes long.
  70. ///
  71. typedef struct {
  72. UINT16 HeaderSize;
  73. UINT16 Size;
  74. EFI_GUID Type;
  75. } EFI_STATUS_CODE_DATA;
  76. //
  77. // Bit values for Authentication Status
  78. //
  79. #define EFI_AUTH_STATUS_PLATFORM_OVERRIDE 0x01
  80. #define EFI_AUTH_STATUS_IMAGE_SIGNED 0x02
  81. #define EFI_AUTH_STATUS_NOT_TESTED 0x04
  82. #define EFI_AUTH_STATUS_TEST_FAILED 0x08
  83. #define EFI_AUTH_STATUS_ALL 0x0f
  84. #endif