]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
UEFI Capsule HOB updating includes:
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index bc5f5c2a8dc600f3f95650915cf983ebb3a8c8a4..c8c3a6c303f9d8da01c98fa8d542253c0f5e6b58 100644 (file)
@@ -5,7 +5,7 @@
   If a code construct is defined in the UEFI 2.1 specification it must be included\r
   by this include file.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
+  Copyright (c) 2006 - 2009, Intel Corporation<BR>\r
   Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
   All rights reserved. This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -592,8 +592,8 @@ VOID
 /**\r
   Returns the value of a variable.\r
 \r
-  @param  VariableName          A Null-terminated Unicode string that is the name of the\r
-                                vendor's variable.\r
+  @param  VariableName          A Null-terminated string that is the name of the vendor's\r
+                                variable.\r
   @param  VendorGuid            A unique identifier for the vendor.\r
   @param  Attributes            If not NULL, a pointer to the memory location to return the\r
                                 attributes bitmask for the variable.\r
@@ -628,7 +628,7 @@ EFI_STATUS
   @param  VariableNameSize      The size of the VariableName buffer.\r
   @param  VariableName          On input, supplies the last VariableName that was returned\r
                                 by GetNextVariableName(). On output, returns the Nullterminated\r
-                                Unicode string of the current variable.\r
+                                string of the current variable.\r
   @param  VendorGuid            On input, supplies the last VendorGuid that was returned by\r
                                 GetNextVariableName(). On output, returns the\r
                                 VendorGuid of the current variable.\r
@@ -841,7 +841,7 @@ EFI_STATUS
   @param  ImageHandle           Handle of image to be started.\r
   @param  ExitDataSize          Pointer to the size, in bytes, of ExitData.\r
   @param  ExitData              Pointer to a pointer to a data buffer that includes a Null-terminated\r
-                                Unicode string, optionally followed by additional binary data.\r
+                                string, optionally followed by additional binary data.\r
 \r
   @retval EFI_INVALID_PARAMETER ImageHandle is either an invalid image handle or the image\r
                                 has already been initialized with StartImage\r
@@ -859,11 +859,16 @@ EFI_STATUS
 /**\r
   Terminates a loaded EFI image and returns control to boot services.\r
 \r
-  @param  ImageHandle           Handle that identifies the image.\r
+  @param  ImageHandle           Handle that identifies the image. This parameter is passed to the \r
+                                image on entry.\r
   @param  ExitStatus            The image's exit code.\r
-  @param  ExitDataSize          The size, in bytes, of ExitData.\r
-  @param  ExitData              Pointer to a data buffer that includes a Null-terminated Unicode string,\r
-                                optionally followed by additional binary data.\r
+  @param  ExitDataSize          The size, in bytes, of ExitData. Ignored if ExitStatus is EFI_SUCCESS.\r
+  @param  ExitData              Pointer to a data buffer that includes a Null-terminated string,\r
+                                optionally followed by additional binary data. The string is a \r
+                                description that the caller may use to further indicate the reason \r
+                                for the image's exit. ExitData is only valid if ExitStatus \r
+                                is something other than EFI_SUCCESS. The ExitData buffer \r
+                                must be allocated by calling AllocatePool().\r
 \r
   @retval EFI_SUCCESS           The image specified by ImageHandle was unloaded.\r
   @retval EFI_INVALID_PARAMETER The image specified by ImageHandle has been loaded and\r
@@ -933,7 +938,7 @@ EFI_STATUS
   @param  Timeout               The number of seconds to set the watchdog timer to.\r
   @param  WatchdogCode          The numeric code to log on a watchdog timer timeout event.\r
   @param  DataSize              The size, in bytes, of WatchdogData.\r
-  @param  WatchdogData          A data buffer that includes a Null-terminated Unicode string, optionally\r
+  @param  WatchdogData          A data buffer that includes a Null-terminated string, optionally\r
                                 followed by additional binary data.\r
 \r
   @retval EFI_SUCCESS           The timeout has been set.\r
@@ -985,7 +990,7 @@ typedef enum {
   @param  DataSize              The size, in bytes, of WatchdogData.\r
   @param  ResetData             For a ResetType of EfiResetCold, EfiResetWarm, or\r
                                 EfiResetShutdown the data buffer starts with a Null-terminated\r
-                                Unicode string, optionally followed by additional binary data.\r
+                                string, optionally followed by additional binary data.\r
 \r
 **/\r
 typedef\r
@@ -1615,6 +1620,7 @@ typedef struct {
 \r
 #define CAPSULE_FLAGS_PERSIST_ACROSS_RESET          0x00010000\r
 #define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE         0x00020000\r
+#define CAPSULE_FLAGS_INITIATE_RESET                0x00040000\r
 \r
 /**\r
   Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended\r
@@ -1634,7 +1640,8 @@ typedef struct {
   @retval EFI_SUCCESS           Valid capsule was passed. If\r
                                 CAPSULE_FLAGS_PERSIT_ACROSS_RESET is not set, the\r
                                 capsule has been successfully processed by the firmware.\r
-  @retval EFI_INVALID_PARAMETER CapsuleSize or HeaderSize is NULL.\r
+  @retval EFI_INVALID_PARAMETER CapsuleSize is NULL, or an incompatible set of flags were\r
+                                set in the capsule header.\r
   @retval EFI_INVALID_PARAMETER CapsuleCount is 0.\r
   @retval EFI_DEVICE_ERROR      The capsule update was started, but failed due to a device error.\r
   @retval EFI_UNSUPPORTED       The capsule type is not supported on this platform.\r
@@ -1714,6 +1721,8 @@ EFI_STATUS
 //\r
 #define EFI_SYSTEM_TABLE_SIGNATURE      SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')\r
 #define EFI_SYSTEM_TABLE_REVISION       ((2 << 16) | (10))\r
+#define EFI_2_30_SYSTEM_TABLE_REVISION  ((2 << 16) | (30))\r
+#define EFI_2_20_SYSTEM_TABLE_REVISION  ((2 << 16) | (20))\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
@@ -1896,8 +1905,8 @@ typedef struct {
   ///\r
   EFI_TABLE_HEADER                  Hdr;\r
   ///\r
-  /// A pointer to a null terminated Unicode string that identifies\r
-  /// the vendor that produces the system firmware for the platform.\r
+  /// A pointer to a null terminated string that identifies the vendor\r
+  /// that produces the system firmware for the platform.\r
   ///\r
   CHAR16                            *FirmwareVendor;\r
   ///\r
@@ -1906,7 +1915,8 @@ typedef struct {
   ///\r
   UINT32                            FirmwareRevision;\r
   ///\r
-  /// The handle for the active console input device.\r
+  /// The handle for the active console input device. This handle must support\r
+  /// EFI_SIMPLE_TEXT_INPUT_PROTOCOL and EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.\r
   ///\r
   EFI_HANDLE                        ConsoleInHandle;\r
   ///\r
@@ -1925,6 +1935,7 @@ typedef struct {
   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL   *ConOut;\r
   ///\r
   /// The handle for the active standard error console device.\r
+  /// This handle must support the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.\r
   ///\r
   EFI_HANDLE                        StandardErrorHandle;\r
   ///\r