]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[efi] Update to current EDK2 headers
authorMichael Brown <mcb30@ipxe.org>
Wed, 22 Nov 2023 23:30:56 +0000 (23:30 +0000)
committerMichael Brown <mcb30@ipxe.org>
Wed, 22 Nov 2023 23:42:22 +0000 (23:42 +0000)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/include/ipxe/efi/Base.h
src/include/ipxe/efi/IndustryStandard/PeImage.h
src/include/ipxe/efi/Library/BaseLib.h
src/include/ipxe/efi/Pi/PiStatusCode.h
src/include/ipxe/efi/Protocol/Rng.h
src/include/ipxe/efi/Uefi/UefiBaseType.h

index e76013c1997ea522ee82cd57f2976d1099543549..46c31a3b166f4cf6415f91a2451236f519158109 100644 (file)
@@ -1231,6 +1231,11 @@ typedef UINTN RETURN_STATUS;
 ///
 #define RETURN_COMPROMISED_DATA  ENCODE_ERROR (33)
 
+///
+/// There is an address conflict address allocation.
+///
+#define RETURN_IP_ADDRESS_CONFLICT  ENCODE_ERROR (34)
+
 ///
 /// A HTTP error occurred during the network operation.
 ///
@@ -1270,6 +1275,11 @@ typedef UINTN RETURN_STATUS;
 ///
 #define RETURN_WARN_FILE_SYSTEM  ENCODE_WARNING (6)
 
+///
+/// The operation will be processed across a system reset.
+///
+#define RETURN_WARN_RESET_REQUIRED  ENCODE_WARNING (7)
+
 /**
   Returns a 16-bit signature built from 2 ASCII characters.
 
index 401e961c9b0084f18473cd71739934b21d8a6da4..c1f1a09cb306b96a44310981ccf653576e100415 100644 (file)
@@ -4,7 +4,7 @@
   EFI_IMAGE_NT_HEADERS64 is for PE32+.
 
   This file is coded to the Visual Studio, Microsoft Portable Executable and
-  Common Object File Format Specification, Revision 8.3 - February 6, 2013.
+  Common Object File Format Specification, Revision 9.3 - December 29, 2015.
   This file also includes some definitions in PI Specification, Revision 1.0.
 
 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
@@ -271,6 +271,21 @@ typedef struct {
 #define EFI_IMAGE_SUBSYSTEM_OS2_CUI      5
 #define EFI_IMAGE_SUBSYSTEM_POSIX_CUI    7
 
+//
+// DLL Characteristics
+//
+#define IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA        0x0020
+#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE           0x0040
+#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY        0x0080
+#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT              0x0100
+#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION           0x0200
+#define IMAGE_DLLCHARACTERISTICS_NO_SEH                 0x0400
+#define IMAGE_DLLCHARACTERISTICS_NO_BIND                0x0800
+#define IMAGE_DLLCHARACTERISTICS_APPCONTAINER           0x1000
+#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER             0x2000
+#define IMAGE_DLLCHARACTERISTICS_GUARD_CF               0x4000
+#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE  0x8000
+
 ///
 /// Length of ShortName.
 ///
@@ -680,9 +695,6 @@ typedef struct {
   //
 } EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY;
 
-// avoid conflict with windows header files
-#ifndef RUNTIME_FUNCTION_INDIRECT
-
 //
 // .pdata entries for X64
 //
@@ -692,8 +704,6 @@ typedef struct {
   UINT32    UnwindInfoAddress;
 } RUNTIME_FUNCTION;
 
-#endif
-
 typedef struct {
   UINT8    Version             : 3;
   UINT8    Flags               : 5;
index e17f3da26ccfcaf23b1eab89ee9bc5b690927633..6d236595595edf8403aff8334a242f8688824feb 100644 (file)
@@ -183,6 +183,11 @@ RiscVSetSupervisorAddressTranslationRegister (
   IN UINT64
   );
 
+UINT64
+RiscVGetSupervisorAddressTranslationRegister (
+  VOID
+  );
+
 UINT64
 RiscVReadTimer (
   VOID
index 4375f7046ebdf7df3516bdec850d7553d2ae7709..427e5061dc2c8228bfa820ef371fe8f0ce86d9a8 100644 (file)
@@ -365,6 +365,7 @@ typedef struct {
 #define EFI_PERIPHERAL_LCD_DEVICE       (EFI_PERIPHERAL | 0x000B0000)
 #define EFI_PERIPHERAL_NETWORK          (EFI_PERIPHERAL | 0x000C0000)
 #define EFI_PERIPHERAL_DOCKING          (EFI_PERIPHERAL | 0x000D0000)
+#define EFI_PERIPHERAL_TPM              (EFI_PERIPHERAL | 0x000E0000)
 ///@}
 
 ///
@@ -967,26 +968,27 @@ typedef struct {
 /// These are shared by all subclasses.
 ///
 ///@{
-#define EFI_SW_EC_NON_SPECIFIC            0x00000000
-#define EFI_SW_EC_LOAD_ERROR              0x00000001
-#define EFI_SW_EC_INVALID_PARAMETER       0x00000002
-#define EFI_SW_EC_UNSUPPORTED             0x00000003
-#define EFI_SW_EC_INVALID_BUFFER          0x00000004
-#define EFI_SW_EC_OUT_OF_RESOURCES        0x00000005
-#define EFI_SW_EC_ABORTED                 0x00000006
-#define EFI_SW_EC_ILLEGAL_SOFTWARE_STATE  0x00000007
-#define EFI_SW_EC_ILLEGAL_HARDWARE_STATE  0x00000008
-#define EFI_SW_EC_START_ERROR             0x00000009
-#define EFI_SW_EC_BAD_DATE_TIME           0x0000000A
-#define EFI_SW_EC_CFG_INVALID             0x0000000B
-#define EFI_SW_EC_CFG_CLR_REQUEST         0x0000000C
-#define EFI_SW_EC_CFG_DEFAULT             0x0000000D
-#define EFI_SW_EC_PWD_INVALID             0x0000000E
-#define EFI_SW_EC_PWD_CLR_REQUEST         0x0000000F
-#define EFI_SW_EC_PWD_CLEARED             0x00000010
-#define EFI_SW_EC_EVENT_LOG_FULL          0x00000011
-#define EFI_SW_EC_WRITE_PROTECTED         0x00000012
-#define EFI_SW_EC_FV_CORRUPTED            0x00000013
+#define EFI_SW_EC_NON_SPECIFIC             0x00000000
+#define EFI_SW_EC_LOAD_ERROR               0x00000001
+#define EFI_SW_EC_INVALID_PARAMETER        0x00000002
+#define EFI_SW_EC_UNSUPPORTED              0x00000003
+#define EFI_SW_EC_INVALID_BUFFER           0x00000004
+#define EFI_SW_EC_OUT_OF_RESOURCES         0x00000005
+#define EFI_SW_EC_ABORTED                  0x00000006
+#define EFI_SW_EC_ILLEGAL_SOFTWARE_STATE   0x00000007
+#define EFI_SW_EC_ILLEGAL_HARDWARE_STATE   0x00000008
+#define EFI_SW_EC_START_ERROR              0x00000009
+#define EFI_SW_EC_BAD_DATE_TIME            0x0000000A
+#define EFI_SW_EC_CFG_INVALID              0x0000000B
+#define EFI_SW_EC_CFG_CLR_REQUEST          0x0000000C
+#define EFI_SW_EC_CFG_DEFAULT              0x0000000D
+#define EFI_SW_EC_PWD_INVALID              0x0000000E
+#define EFI_SW_EC_PWD_CLR_REQUEST          0x0000000F
+#define EFI_SW_EC_PWD_CLEARED              0x00000010
+#define EFI_SW_EC_EVENT_LOG_FULL           0x00000011
+#define EFI_SW_EC_WRITE_PROTECTED          0x00000012
+#define EFI_SW_EC_FV_CORRUPTED             0x00000013
+#define EFI_SW_EC_INCONSISTENT_MEMORY_MAP  0x00000014
 ///@}
 
 //
index 87c5c0eddfdc6c814cb637f1f399b3f7911b5b44..92d648bee8bef8c22b2b430df1cb86ccc97d82e0 100644 (file)
@@ -69,6 +69,15 @@ typedef EFI_GUID EFI_RNG_ALGORITHM;
   { \
     0xe43176d7, 0xb6e8, 0x4827, {0xb7, 0x84, 0x7f, 0xfd, 0xc4, 0xb6, 0x85, 0x61 } \
   }
+///
+/// The Arm Architecture states the RNDR that the DRBG algorithm should be compliant
+/// with NIST SP800-90A, while not mandating a particular algorithm, so as to be
+/// inclusive of different geographies.
+///
+#define EFI_RNG_ALGORITHM_ARM_RNDR \
+  { \
+    0x43d2fde3, 0x9d4e, 0x4d79,  {0x02, 0x96, 0xa8, 0x9b, 0xca, 0x78, 0x08, 0x41} \
+  }
 
 /**
   Returns information about the random number generation implementation.
@@ -148,5 +157,6 @@ extern EFI_GUID  gEfiRngAlgorithmSp80090Ctr256Guid;
 extern EFI_GUID  gEfiRngAlgorithmX9313DesGuid;
 extern EFI_GUID  gEfiRngAlgorithmX931AesGuid;
 extern EFI_GUID  gEfiRngAlgorithmRaw;
+extern EFI_GUID  gEfiRngAlgorithmArmRndr;
 
 #endif
index 04927599522eef75754df1574821ebfc6df1a60d..bf3aa9bb2213896a93437e9768e86f021af291d8 100644 (file)
@@ -143,6 +143,7 @@ typedef union {
 #define EFI_END_OF_FILE           RETURN_END_OF_FILE
 #define EFI_INVALID_LANGUAGE      RETURN_INVALID_LANGUAGE
 #define EFI_COMPROMISED_DATA      RETURN_COMPROMISED_DATA
+#define EFI_IP_ADDRESS_CONFLICT   RETURN_IP_ADDRESS_CONFLICT
 #define EFI_HTTP_ERROR            RETURN_HTTP_ERROR
 
 #define EFI_WARN_UNKNOWN_GLYPH     RETURN_WARN_UNKNOWN_GLYPH
@@ -151,6 +152,7 @@ typedef union {
 #define EFI_WARN_BUFFER_TOO_SMALL  RETURN_WARN_BUFFER_TOO_SMALL
 #define EFI_WARN_STALE_DATA        RETURN_WARN_STALE_DATA
 #define EFI_WARN_FILE_SYSTEM       RETURN_WARN_FILE_SYSTEM
+#define EFI_WARN_RESET_REQUIRED    RETURN_WARN_RESET_REQUIRED
 ///@}
 
 ///