]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
Update the EFI_CAPSULE_HEADER definition.
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index 70e8b91c4f2ca7becae702aa77da39309505bd30..7f87a1ccc73863b366b7c7a9b79a32d7295af97d 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
-  Module Name:    UefiSpec.h\r
-\r
 **/\r
 \r
 #ifndef __UEFI_SPEC_H__\r
 #include <Protocol/SimpleTextIn.h>\r
 #include <Protocol/SimpleTextOut.h>\r
 \r
-//\r
-// Networking Definitions\r
-//\r
-typedef struct {\r
-  UINT8 Addr[4];\r
-} EFI_IPv4_ADDRESS;\r
-\r
-typedef struct {\r
-  UINT8 Addr[16];\r
-} EFI_IPv6_ADDRESS;\r
-\r
-typedef struct {\r
-  UINT8 Addr[32];\r
-} EFI_MAC_ADDRESS;\r
-\r
-typedef union {\r
-  UINT32            Addr[4];\r
-  EFI_IPv4_ADDRESS  v4;\r
-  EFI_IPv6_ADDRESS  v6;\r
-} EFI_IP_ADDRESS;\r
-\r
-\r
 //\r
 // Enumeration of memory allocation.\r
 // \r
@@ -59,6 +35,16 @@ typedef enum {
   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
@@ -72,9 +58,9 @@ typedef enum {
 //\r
 // physical memory protection on range\r
 //\r
-#define EFI_MEMORY_WP  0x0000000000001000ULL\r
-#define EFI_MEMORY_RP  0x0000000000002000ULL\r
-#define EFI_MEMORY_XP  0x0000000000004000ULL\r
+#define EFI_MEMORY_WP   0x0000000000001000ULL\r
+#define EFI_MEMORY_RP   0x0000000000002000ULL\r
+#define EFI_MEMORY_XP   0x0000000000004000ULL\r
 \r
 //\r
 // range requires a runtime mapping\r
@@ -83,11 +69,11 @@ typedef enum {
 \r
 #define EFI_MEMORY_DESCRIPTOR_VERSION 1\r
 typedef struct {\r
-       UINT32                                                          Type;\r
-       EFI_PHYSICAL_ADDRESS    PhysicalStart;\r
-       EFI_VIRTUAL_ADDRESS     VirtualStart;\r
-       UINT64                                                          NumberOfPages;\r
-       UINT64                                                          Attribute;\r
+  UINT32                Type;\r
+  EFI_PHYSICAL_ADDRESS  PhysicalStart;\r
+  EFI_VIRTUAL_ADDRESS   VirtualStart;\r
+  UINT64                NumberOfPages;\r
+  UINT64                Attribute;\r
 } EFI_MEMORY_DESCRIPTOR;\r
 \r
 //\r
@@ -336,13 +322,13 @@ EFI_STATUS
 // EVT_TIMER might be ¡°Ored¡± with EVT_NOTIFY_WAIT or\r
 // EVT_NOTIFY_SIGNAL.\r
 //\r
-#define EVT_TIMER                                                                                              0x80000000\r
-#define EVT_RUNTIME                                                                                    0x40000000\r
+#define EVT_TIMER                         0x80000000\r
+#define EVT_RUNTIME                       0x40000000\r
 \r
-#define EVT_NOTIFY_WAIT                                                                                0x00000100\r
-#define EVT_NOTIFY_SIGNAL                                                                      0x00000200\r
-#define EVT_SIGNAL_EXIT_BOOT_SERVICES                  0x00000201\r
-#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE      0x60000202\r
+#define EVT_NOTIFY_WAIT                   0x00000100\r
+#define EVT_NOTIFY_SIGNAL                 0x00000200\r
+#define EVT_SIGNAL_EXIT_BOOT_SERVICES     0x00000201\r
+#define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202\r
 \r
 \r
 //\r
@@ -638,9 +624,9 @@ EFI_STATUS
 // real time clock device as exposed through the EFI interfaces.\r
 // \r
 typedef struct {\r
-       UINT32          Resolution;\r
-       UINT32          Accuracy;\r
-       BOOLEAN         SetsToZero;\r
+  UINT32    Resolution;\r
+  UINT32    Accuracy;\r
+  BOOLEAN   SetsToZero;\r
 } EFI_TIME_CAPABILITIES;\r
 \r
 /**\r
@@ -1438,14 +1424,14 @@ typedef struct {
     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
-} 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
@@ -1542,153 +1528,153 @@ EFI_STATUS
 //\r
 // EFI Runtime Services Table\r
 //\r
-#define EFI_SYSTEM_TABLE_SIGNATURE                     0x5453595320494249\r
-#define EFI_SYSTEM_TABLE_REVISION                      ((2<<16) | (10))\r
-#define EFI_2_10_SYSTEM_TABLE_REVISION         ((2<<16) | (10))\r
-#define EFI_2_00_SYSTEM_TABLE_REVISION         ((2<<16) | (00))\r
-#define EFI_1_10_SYSTEM_TABLE_REVISION         ((1<<16) | (10))\r
-#define EFI_1_02_SYSTEM_TABLE_REVISION         ((1<<16) | (02))\r
+#define EFI_SYSTEM_TABLE_SIGNATURE      0x5453595320494249\r
+#define EFI_SYSTEM_TABLE_REVISION       ((2<<16) | (10))\r
+#define EFI_2_10_SYSTEM_TABLE_REVISION  ((2<<16) | (10))\r
+#define EFI_2_00_SYSTEM_TABLE_REVISION  ((2<<16) | (00))\r
+#define EFI_1_10_SYSTEM_TABLE_REVISION  ((1<<16) | (10))\r
+#define EFI_1_02_SYSTEM_TABLE_REVISION  ((1<<16) | (02))\r
 \r
-#define EFI_RUNTIME_SERVICES_SIGNATURE         0x56524553544e5552\r
-#define EFI_RUNTIME_SERVICES_REVISION  EFI_2_00_SYSTEM_TABLE_REVISION\r
+#define EFI_RUNTIME_SERVICES_SIGNATURE  0x56524553544e5552\r
+#define EFI_RUNTIME_SERVICES_REVISION   EFI_2_10_SYSTEM_TABLE_REVISION\r
 \r
 typedef struct {\r
-       EFI_TABLE_HEADER Hdr;\r
-\r
-       //\r
-       // Time Services\r
-       //\r
-       EFI_GET_TIME                                                                            GetTime;\r
-       EFI_SET_TIME                                                                            SetTime;\r
-       EFI_GET_WAKEUP_TIME                                             GetWakeupTime;\r
-       EFI_SET_WAKEUP_TIME                                             SetWakeupTime;\r
-\r
-       //\r
-       // Virtual Memory Services\r
-       //\r
-       EFI_SET_VIRTUAL_ADDRESS_MAP                     SetVirtualAddressMap;\r
-       EFI_CONVERT_POINTER                                             ConvertPointer;\r
-\r
-       //\r
-       // Variable Services\r
-       //\r
-       EFI_GET_VARIABLE                                                                GetVariable;\r
-       EFI_GET_NEXT_VARIABLE_NAME                      GetNextVariableName;\r
-       EFI_SET_VARIABLE                                                                SetVariable;\r
-\r
-       //\r
-       // Miscellaneous Services\r
-       //\r
-       EFI_GET_NEXT_HIGH_MONO_COUNT            GetNextHighMonotonicCount;\r
-       EFI_RESET_SYSTEM                                                                ResetSystem;\r
-\r
-       //\r
-       // UEFI 2.0 Capsule Services\r
-       //\r
-       EFI_UPDATE_CAPSULE                                                      UpdateCapsule;\r
-       EFI_QUERY_CAPSULE_CAPABILITIES  QueryCapsuleCapabilities;\r
-\r
-       //\r
-       // Miscellaneous UEFI 2.0 Service\r
-       //\r
-       EFI_QUERY_VARIABLE_INFO                                 QueryVariableInfo;\r
+  EFI_TABLE_HEADER Hdr;\r
+\r
+  //\r
+  // Time Services\r
+  //\r
+  EFI_GET_TIME                    GetTime;\r
+  EFI_SET_TIME                    SetTime;\r
+  EFI_GET_WAKEUP_TIME             GetWakeupTime;\r
+  EFI_SET_WAKEUP_TIME             SetWakeupTime;\r
+\r
+  //\r
+  // Virtual Memory Services\r
+  //\r
+  EFI_SET_VIRTUAL_ADDRESS_MAP     SetVirtualAddressMap;\r
+  EFI_CONVERT_POINTER             ConvertPointer;\r
+\r
+  //\r
+  // Variable Services\r
+  //\r
+  EFI_GET_VARIABLE                GetVariable;\r
+  EFI_GET_NEXT_VARIABLE_NAME      GetNextVariableName;\r
+  EFI_SET_VARIABLE                SetVariable;\r
+\r
+  //\r
+  // Miscellaneous Services\r
+  //\r
+  EFI_GET_NEXT_HIGH_MONO_COUNT    GetNextHighMonotonicCount;\r
+  EFI_RESET_SYSTEM                ResetSystem;\r
+\r
+  //\r
+  // UEFI 2.0 Capsule Services\r
+  //\r
+  EFI_UPDATE_CAPSULE              UpdateCapsule;\r
+  EFI_QUERY_CAPSULE_CAPABILITIES  QueryCapsuleCapabilities;\r
+\r
+  //\r
+  // Miscellaneous UEFI 2.0 Service\r
+  //\r
+  EFI_QUERY_VARIABLE_INFO         QueryVariableInfo;\r
 } EFI_RUNTIME_SERVICES;\r
 \r
 \r
-#define EFI_BOOT_SERVICES_SIGNATURE    0x56524553544f4f42\r
-#define EFI_BOOT_SERVICES_REVISION             ((2<<16) | (00))\r
+#define EFI_BOOT_SERVICES_SIGNATURE   0x56524553544f4f42\r
+#define EFI_BOOT_SERVICES_REVISION    EFI_2_10_SYSTEM_TABLE_REVISION\r
 \r
 typedef struct {\r
-       EFI_TABLE_HEADER        Hdr;\r
-       \r
-       //\r
-       // Task Priority Services\r
-       //\r
-       EFI_RAISE_TPL                                                                   RaiseTPL;\r
-       EFI_RESTORE_TPL                                                                 RestoreTPL;\r
-\r
-       //\r
-       // Memory Services\r
-       //\r
-       EFI_ALLOCATE_PAGES                                                      AllocatePages;\r
-       EFI_FREE_PAGES                                                                  FreePages;\r
-       EFI_GET_MEMORY_MAP                                                      GetMemoryMap;\r
-       EFI_ALLOCATE_POOL                                                       AllocatePool;\r
-       EFI_FREE_POOL                                                                   FreePool;\r
-\r
-       //\r
-       // Event & Timer Services\r
-       //\r
-       EFI_CREATE_EVENT                                                                        CreateEvent;\r
-       EFI_SET_TIMER                                                                           SetTimer;\r
-       EFI_WAIT_FOR_EVENT                                                              WaitForEvent;\r
-       EFI_SIGNAL_EVENT                                                                        SignalEvent;\r
-       EFI_CLOSE_EVENT                                                                         CloseEvent;\r
-       EFI_CHECK_EVENT                                                                         CheckEvent;\r
-\r
-       //\r
-       // Protocol Handler Services\r
-       //\r
-       EFI_INSTALL_PROTOCOL_INTERFACE          InstallProtocolInterface;\r
-       EFI_REINSTALL_PROTOCOL_INTERFACE        ReinstallProtocolInterface;\r
-       EFI_UNINSTALL_PROTOCOL_INTERFACE        UninstallProtocolInterface;\r
-       EFI_HANDLE_PROTOCOL                                                     HandleProtocol;\r
-       VOID                                                                                                                    *Reserved;\r
-       EFI_REGISTER_PROTOCOL_NOTIFY                    RegisterProtocolNotify;\r
-       EFI_LOCATE_HANDLE                                                               LocateHandle;\r
-       EFI_LOCATE_DEVICE_PATH                                          LocateDevicePath;\r
-       EFI_INSTALL_CONFIGURATION_TABLE         InstallConfigurationTable;\r
-\r
-       //\r
-       // Image Services\r
-       //\r
-       EFI_IMAGE_LOAD                                                                          LoadImage;\r
-       EFI_IMAGE_START                                                                         StartImage;\r
-       EFI_EXIT                                                                                                        Exit;\r
-       EFI_IMAGE_UNLOAD                                                                        UnloadImage;\r
-       EFI_EXIT_BOOT_SERVICES                                          ExitBootServices;\r
-\r
-       //\r
-       // Miscellaneous Services\r
-       //\r
-       EFI_GET_NEXT_MONOTONIC_COUNT                    GetNextMonotonicCount;\r
-       EFI_STALL                                                                                               Stall;\r
-       EFI_SET_WATCHDOG_TIMER                                          SetWatchdogTimer;\r
-\r
-       //\r
-       // DriverSupport Services\r
-       //\r
-       EFI_CONNECT_CONTROLLER                                          ConnectController;\r
-       EFI_DISCONNECT_CONTROLLER                               DisconnectController;\r
-\r
-       //\r
-       // Open and Close Protocol Services\r
-       //\r
-       EFI_OPEN_PROTOCOL                                                               OpenProtocol;\r
-       EFI_CLOSE_PROTOCOL                                                              CloseProtocol;\r
-       EFI_OPEN_PROTOCOL_INFORMATION           OpenProtocolInformation;\r
-\r
-       //\r
-       // Library Services\r
-       //\r
-       EFI_PROTOCOLS_PER_HANDLE                                        ProtocolsPerHandle;\r
-       EFI_LOCATE_HANDLE_BUFFER                                        LocateHandleBuffer;\r
-       EFI_LOCATE_PROTOCOL                                                     LocateProtocol;\r
-       EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES                InstallMultipleProtocolInterfaces;\r
-       EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES      UninstallMultipleProtocolInterfaces;\r
-\r
-       //\r
-       // 32-bit CRC Services\r
-       //\r
-       EFI_CALCULATE_CRC32                                                     CalculateCrc32;\r
-\r
-       //\r
-       // Miscellaneous Services\r
-       //\r
-       EFI_COPY_MEM                                                                                    CopyMem;\r
-       EFI_SET_MEM                                                                                     SetMem;\r
-\r
-       EFI_CREATE_EVENT_EX                                                     CreateEventEx;\r
+  EFI_TABLE_HEADER  Hdr;\r
+  \r
+  //\r
+  // Task Priority Services\r
+  //\r
+  EFI_RAISE_TPL                   RaiseTPL;\r
+  EFI_RESTORE_TPL                 RestoreTPL;\r
+\r
+  //\r
+  // Memory Services\r
+  //\r
+  EFI_ALLOCATE_PAGES              AllocatePages;\r
+  EFI_FREE_PAGES                  FreePages;\r
+  EFI_GET_MEMORY_MAP              GetMemoryMap;\r
+  EFI_ALLOCATE_POOL               AllocatePool;\r
+  EFI_FREE_POOL                   FreePool;\r
+\r
+  //\r
+  // Event & Timer Services\r
+  //\r
+  EFI_CREATE_EVENT                  CreateEvent;\r
+  EFI_SET_TIMER                     SetTimer;\r
+  EFI_WAIT_FOR_EVENT                WaitForEvent;\r
+  EFI_SIGNAL_EVENT                  SignalEvent;\r
+  EFI_CLOSE_EVENT                   CloseEvent;\r
+  EFI_CHECK_EVENT                   CheckEvent;\r
+\r
+  //\r
+  // Protocol Handler Services\r
+  //\r
+  EFI_INSTALL_PROTOCOL_INTERFACE    InstallProtocolInterface;\r
+  EFI_REINSTALL_PROTOCOL_INTERFACE  ReinstallProtocolInterface;\r
+  EFI_UNINSTALL_PROTOCOL_INTERFACE  UninstallProtocolInterface;\r
+  EFI_HANDLE_PROTOCOL               HandleProtocol;\r
+  VOID                              *Reserved;\r
+  EFI_REGISTER_PROTOCOL_NOTIFY      RegisterProtocolNotify;\r
+  EFI_LOCATE_HANDLE                 LocateHandle;\r
+  EFI_LOCATE_DEVICE_PATH            LocateDevicePath;\r
+  EFI_INSTALL_CONFIGURATION_TABLE   InstallConfigurationTable;\r
+\r
+  //\r
+  // Image Services\r
+  //\r
+  EFI_IMAGE_LOAD                    LoadImage;\r
+  EFI_IMAGE_START                   StartImage;\r
+  EFI_EXIT                          Exit;\r
+  EFI_IMAGE_UNLOAD                  UnloadImage;\r
+  EFI_EXIT_BOOT_SERVICES            ExitBootServices;\r
+\r
+  //\r
+  // Miscellaneous Services\r
+  //\r
+  EFI_GET_NEXT_MONOTONIC_COUNT      GetNextMonotonicCount;\r
+  EFI_STALL                         Stall;\r
+  EFI_SET_WATCHDOG_TIMER            SetWatchdogTimer;\r
+\r
+  //\r
+  // DriverSupport Services\r
+  //\r
+  EFI_CONNECT_CONTROLLER            ConnectController;\r
+  EFI_DISCONNECT_CONTROLLER         DisconnectController;\r
+\r
+  //\r
+  // Open and Close Protocol Services\r
+  //\r
+  EFI_OPEN_PROTOCOL                 OpenProtocol;\r
+  EFI_CLOSE_PROTOCOL                CloseProtocol;\r
+  EFI_OPEN_PROTOCOL_INFORMATION     OpenProtocolInformation;\r
+\r
+  //\r
+  // Library Services\r
+  //\r
+  EFI_PROTOCOLS_PER_HANDLE          ProtocolsPerHandle;\r
+  EFI_LOCATE_HANDLE_BUFFER          LocateHandleBuffer;\r
+  EFI_LOCATE_PROTOCOL               LocateProtocol;\r
+  EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES    InstallMultipleProtocolInterfaces;\r
+  EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES  UninstallMultipleProtocolInterfaces;\r
+\r
+  //\r
+  // 32-bit CRC Services\r
+  //\r
+  EFI_CALCULATE_CRC32               CalculateCrc32;\r
+\r
+  //\r
+  // Miscellaneous Services\r
+  //\r
+  EFI_COPY_MEM                      CopyMem;\r
+  EFI_SET_MEM                       SetMem;\r
+\r
+  EFI_CREATE_EVENT_EX               CreateEventEx;\r
 } EFI_BOOT_SERVICES;\r
 \r
 //\r
@@ -1696,24 +1682,24 @@ typedef struct {
 // EFI System Table.\r
 // \r
 typedef struct{\r
-       EFI_GUID                                                                                                        VendorGuid;\r
-       VOID                                                                                                                    *VendorTable;\r
+  EFI_GUID                          VendorGuid;\r
+  VOID                              *VendorTable;\r
 } EFI_CONFIGURATION_TABLE;\r
 \r
 struct _EFI_SYSTEM_TABLE {\r
-       EFI_TABLE_HEADER        Hdr;\r
-       CHAR16                                                                                                          *FirmwareVendor;\r
-       UINT32                                                                                                          FirmwareRevision;\r
-       EFI_HANDLE                                                                                              ConsoleInHandle;\r
-       EFI_SIMPLE_TEXT_INPUT_PROTOCOL          *ConIn;\r
-       EFI_HANDLE                                                                                              ConsoleOutHandle;\r
-       EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL         *ConOut;\r
-       EFI_HANDLE                                                                                              StandardErrorHandle;\r
-       EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL         *StdErr;\r
-       EFI_RUNTIME_SERVICES                                                    *RuntimeServices;\r
-       EFI_BOOT_SERVICES                                                               *BootServices;\r
-       UINTN                                                                                                           NumberOfTableEntries;\r
-       EFI_CONFIGURATION_TABLE                                         *ConfigurationTable;\r
+  EFI_TABLE_HEADER  Hdr;\r
+  CHAR16                            *FirmwareVendor;\r
+  UINT32                            FirmwareRevision;\r
+  EFI_HANDLE                        ConsoleInHandle;\r
+  EFI_SIMPLE_TEXT_INPUT_PROTOCOL    *ConIn;\r
+  EFI_HANDLE                        ConsoleOutHandle;\r
+  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL   *ConOut;\r
+  EFI_HANDLE                        StandardErrorHandle;\r
+  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL   *StdErr;\r
+  EFI_RUNTIME_SERVICES              *RuntimeServices;\r
+  EFI_BOOT_SERVICES                 *BootServices;\r
+  UINTN                             NumberOfTableEntries;\r
+  EFI_CONFIGURATION_TABLE           *ConfigurationTable;\r
 };\r
 \r
 //\r
@@ -1736,7 +1722,6 @@ struct _EFI_SYSTEM_TABLE {
   #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