]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
Updated to reflect spec ECRs
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index f43624284f942e4931b980153b05b96af5fa286e..c2f52d2769c33c2d22c2e5f4328356136d4dbca9 100644 (file)
@@ -14,8 +14,6 @@
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  Module Name:    UefiSpec.h\r
-\r
 **/\r
 \r
 #ifndef __UEFI_SPEC_H__\r
 **/\r
 \r
 #ifndef __UEFI_SPEC_H__\r
@@ -37,6 +35,16 @@ typedef enum {
   MaxAllocateType\r
 } EFI_ALLOCATE_TYPE;\r
 \r
   MaxAllocateType\r
 } EFI_ALLOCATE_TYPE;\r
 \r
+//\r
+// Bit definitions for EFI_TIME.Daylight\r
+//\r
+#define EFI_TIME_ADJUST_DAYLIGHT  0x01\r
+#define EFI_TIME_IN_DAYLIGHT      0x02\r
+\r
+//\r
+// Value definition for EFI_TIME.TimeZone\r
+//\r
+#define EFI_UNSPECIFIED_TIMEZONE  0x07FF\r
 \r
 //\r
 // possible caching types for the memory range\r
 \r
 //\r
 // possible caching types for the memory range\r
@@ -310,18 +318,27 @@ EFI_STATUS
 \r
 \r
 //\r
 \r
 \r
 //\r
-// These types can be ¡°ORed¡± together as needed ¨C for example,\r
-// EVT_TIMER might be ¡°Ored¡± with EVT_NOTIFY_WAIT or\r
+// These types can be ORed together as needed ¨C for example,\r
+// EVT_TIMER might be Ored with EVT_NOTIFY_WAIT or\r
 // EVT_NOTIFY_SIGNAL.\r
 //\r
 #define EVT_TIMER                         0x80000000\r
 // EVT_NOTIFY_SIGNAL.\r
 //\r
 #define EVT_TIMER                         0x80000000\r
+#define EFI_EVENT_TIMER                   EVT_TIMER\r
+\r
 #define EVT_RUNTIME                       0x40000000\r
 #define EVT_RUNTIME                       0x40000000\r
+#define EFI_EVENT_RUNTIME                 EVT_RUNTIME\r
 \r
 #define EVT_NOTIFY_WAIT                   0x00000100\r
 \r
 #define EVT_NOTIFY_WAIT                   0x00000100\r
+#define EFI_EVENT_NOTIFY_WAIT             EVT_NOTIFY_WAIT\r
+\r
 #define EVT_NOTIFY_SIGNAL                 0x00000200\r
 #define EVT_NOTIFY_SIGNAL                 0x00000200\r
+#define EFI_EVENT_NOTIFY_SIGNAL           EVT_NOTIFY_SIGNAL\r
+\r
 #define EVT_SIGNAL_EXIT_BOOT_SERVICES     0x00000201\r
 #define EVT_SIGNAL_EXIT_BOOT_SERVICES     0x00000201\r
-#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202\r
+#define EFI_EVENT_SIGNAL_EXIT_BOOT_SERVICES         EVT_SIGNAL_EXIT_BOOT_SERVICES\r
 \r
 \r
+#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202\r
+#define EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE     EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE\r
 \r
 //\r
 // The event¡¯s NotifyContext pointer points to a runtime memory\r
 \r
 //\r
 // The event¡¯s NotifyContext pointer points to a runtime memory\r
@@ -877,6 +894,7 @@ typedef enum {
   EfiResetCold,\r
   EfiResetWarm,\r
   EfiResetShutdown,\r
   EfiResetCold,\r
   EfiResetWarm,\r
   EfiResetShutdown,\r
+  EfiResetUpdate\r
 } EFI_RESET_TYPE;\r
 \r
 /**\r
 } EFI_RESET_TYPE;\r
 \r
 /**\r
@@ -1416,14 +1434,14 @@ typedef struct {
     EFI_PHYSICAL_ADDRESS  DataBlock;\r
     EFI_PHYSICAL_ADDRESS  ContinuationPointer;\r
   } Union;\r
     EFI_PHYSICAL_ADDRESS  DataBlock;\r
     EFI_PHYSICAL_ADDRESS  ContinuationPointer;\r
   } Union;\r
-} UEFI_CAPSULE_BLOCK_DESCRIPTOR;\r
+} EFI_CAPSULE_BLOCK_DESCRIPTOR;\r
 \r
 typedef struct {\r
   EFI_GUID          CapsuleGuid;\r
   UINT32            HeaderSize;\r
   UINT32            Flags;\r
   UINT32            CapsuleImageSize;\r
 \r
 typedef struct {\r
   EFI_GUID          CapsuleGuid;\r
   UINT32            HeaderSize;\r
   UINT32            Flags;\r
   UINT32            CapsuleImageSize;\r
-} UEFI_CAPSULE_HEADER;\r
+} EFI_CAPSULE_HEADER;\r
 \r
 #define CAPSULE_FLAGS_PERSIST_ACROSS_RESET          0x00010000\r
 #define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE         0x00020000\r
 \r
 #define CAPSULE_FLAGS_PERSIST_ACROSS_RESET          0x00010000\r
 #define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE         0x00020000\r
@@ -1453,7 +1471,7 @@ typedef struct {
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_UPDATE_CAPSULE) (\r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_UPDATE_CAPSULE) (\r
-  IN UEFI_CAPSULE_HEADER    **CapsuleHeaderArray,\r
+  IN EFI_CAPSULE_HEADER     **CapsuleHeaderArray,\r
   IN UINTN                  CapsuleCount,\r
   IN EFI_PHYSICAL_ADDRESS   ScatterGatherList   OPTIONAL\r
   );\r
   IN UINTN                  CapsuleCount,\r
   IN EFI_PHYSICAL_ADDRESS   ScatterGatherList   OPTIONAL\r
   );\r
@@ -1479,7 +1497,7 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_QUERY_CAPSULE_CAPABILITIES) (\r
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_QUERY_CAPSULE_CAPABILITIES) (\r
-  IN  UEFI_CAPSULE_HEADER    **CapsuleHeaderArray,\r
+  IN  EFI_CAPSULE_HEADER     **CapsuleHeaderArray,\r
   IN  UINTN                  CapsuleCount,\r
   OUT UINT64                 *MaximumCapsuleSize,\r
   OUT EFI_RESET_TYPE         *ResetType\r
   IN  UINTN                  CapsuleCount,\r
   OUT UINT64                 *MaximumCapsuleSize,\r
   OUT EFI_RESET_TYPE         *ResetType\r
@@ -1694,6 +1712,52 @@ struct _EFI_SYSTEM_TABLE {
   EFI_CONFIGURATION_TABLE           *ConfigurationTable;\r
 };\r
 \r
   EFI_CONFIGURATION_TABLE           *ConfigurationTable;\r
 };\r
 \r
+//\r
+// EFI Load Options Attributes\r
+//\r
+#define LOAD_OPTION_ACTIVE            0x00000001\r
+#define LOAD_OPTION_FORCE_RECONNECT   0x00000002\r
+#define LOAD_OPTION_HIDDEN            0x00000008\r
+#define LOAD_OPTION_CATEGORY          0x00001F00\r
+\r
+#define LOAD_OPTION_CATEGORY_BOOT     0x00000000\r
+#define LOAD_OPTION_CATEGORY_APP      0x00000100\r
+\r
+#define EFI_BOOT_OPTION_SUPPORT_KEY   0x00000001\r
+#define EFI_BOOT_OPTION_SUPPORT_APP   0x00000002\r
+#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300\r
+\r
+typedef union {\r
+  struct {\r
+    UINT32  Revision        : 8;\r
+    UINT32  ShiftPressed    : 1;\r
+    UINT32  ControlPressed  : 1;\r
+    UINT32  AltPressed      : 1;\r
+    UINT32  LogoPressed     : 1;\r
+    UINT32  MenuPressed     : 1;\r
+    UINT32  SysReqPessed    : 1;\r
+    UINT32  Reserved        : 16;\r
+    UINT32  InputKeyCount   : 2;\r
+  }       Options;\r
+  UINT32  PackedValue;\r
+} EFI_KEY_DATA;\r
+\r
+typedef struct {\r
+  EFI_KEY_DATA      KeyOptions;\r
+  UINT32            BootOptionCrc;\r
+  UINT16            BootOption;\r
+//EFI_INPUT_KEY  Keys[];\r
+} EFI_KEY_OPTION;\r
+\r
+#define EFI_KEY_OPTION_SHIFT     0x00000001\r
+#define EFI_KEY_OPTION_CONTROL   0x00000002\r
+#define EFI_KEY_OPTION_ALT       0x00000004\r
+#define EFI_KEY_OPTION_LOGO      0x00000008\r
+#define EFI_KEY_OPTION_MENU      0x00000010\r
+#define EFI_KEY_OPTION_SYSREQ    0x00000020\r
+#define EFI_KEY_CODE_COUNT       0x00000300\r
+\r
+\r
 //\r
 // EFI File location to boot from on removable media devices\r
 //\r
 //\r
 // EFI File location to boot from on removable media devices\r
 //\r
@@ -1714,7 +1778,6 @@ struct _EFI_SYSTEM_TABLE {
   #error Unknown Processor Type\r
 #endif\r
 \r
   #error Unknown Processor Type\r
 #endif\r
 \r
-#include <Uefi/UefiDevicePath.h>\r
 #include <Uefi/UefiPxe.h>\r
 #include <Uefi/UefiGpt.h>\r
 #include <Uefi/UefiInternalFormRepresentation.h>\r
 #include <Uefi/UefiPxe.h>\r
 #include <Uefi/UefiGpt.h>\r
 #include <Uefi/UefiInternalFormRepresentation.h>\r