]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
Add PI1.2.1 SAP2 support and UEFI231B mantis 896
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index ff0bab0aaabe6c0a2a8982c8b1d6f05bdf2c0304..ffdfcd6398ea573ef6fd5a16de9f525cf2cad7f0 100644 (file)
@@ -5,7 +5,7 @@
   If a code construct is defined in the UEFI 2.3 specification it must be included\r
   by this include file.\r
 \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -127,6 +127,7 @@ typedef struct {
   @retval EFI_INVALID_PARAMETER 1) Type is not AllocateAnyPages or\r
                                 AllocateMaxAddress or AllocateAddress.\r
                                 2) MemoryType is in the range\r
+                                3) Memory is NULL.\r
                                 EfiMaxMemoryType..0x7FFFFFFF.\r
   @retval EFI_OUT_OF_RESOURCES  The pages could not be allocated.\r
   @retval EFI_NOT_FOUND         The requested pages could not be found.\r
@@ -205,7 +206,7 @@ EFI_STATUS
 \r
   @retval EFI_SUCCESS           The requested number of bytes was allocated.\r
   @retval EFI_OUT_OF_RESOURCES  The pool requested could not be allocated.\r
-  @retval EFI_INVALID_PARAMETER PoolType was invalid.\r
+  @retval EFI_INVALID_PARAMETER PoolType was invalid or Buffer is NULL.\r
 \r
 **/\r
 typedef\r
@@ -276,11 +277,13 @@ EFI_STATUS
                                 2) No drivers were connected to ControllerHandle, but\r
                                 RemainingDevicePath is not NULL, and it is an End Device\r
                                 Path Node.\r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
   @retval EFI_NOT_FOUND         1) There are no EFI_DRIVER_BINDING_PROTOCOL instances\r
                                 present in the system.\r
                                 2) No drivers were connected to ControllerHandle.\r
-\r
+  @retval EFI_SECURITY_VIOLATION \r
+                                The user has no permission to start UEFI device drivers on the device path \r
+                                associated with the ControllerHandle or specified by the RemainingDevicePath.\r
 **/\r
 typedef\r
 EFI_STATUS\r
@@ -306,7 +309,7 @@ EFI_STATUS
                                 2) On entry, no drivers are managing ControllerHandle.\r
                                 3) DriverImageHandle is not NULL, and on entry\r
                                    DriverImageHandle is not managing ControllerHandle.\r
-  @retval EFI_INVALID_PARAMETER 1) ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER 1) ControllerHandle is NULL.\r
                                 2) DriverImageHandle is not NULL, and it is not a valid EFI_HANDLE.\r
                                 3) ChildHandle is not NULL, and it is not a valid EFI_HANDLE.\r
                                 4) DriverImageHandle does not support the EFI_DRIVER_BINDING_PROTOCOL.\r
@@ -847,8 +850,9 @@ EFI_STATUS
   @param  ExitData              The pointer to a pointer to a data buffer that includes a Null-terminated\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
+  @retval EFI_INVALID_PARAMETER  ImageHandle is either an invalid image handle or the image\r
+                                 has already been initialized with StartImage.\r
+  @retval EFI_SECURITY_VIOLATION The current platform policy specifies that the image should not be started.\r
   @return Exit code from image\r
 \r
 **/\r
@@ -1135,8 +1139,8 @@ EFI_STATUS
 /**\r
   Installs one or more protocol interfaces into the boot services environment.\r
 \r
-  @param  Handle                The handle to install the new protocol interfaces on, or NULL if a new\r
-                                handle is to be allocated.\r
+  @param  Handle                The pointer to a handle to install the new protocol interfaces on,\r
+                                or a pointer to NULL if a new handle is to be allocated.\r
   @param  ...                   A variable argument list containing pairs of protocol GUIDs and protocol\r
                                 interfaces.\r
 \r
@@ -1167,7 +1171,7 @@ EFI_STATUS
   @retval EFI_ACCESS_DENIED     The protocol interface could not be reinstalled,\r
                                 because OldInterface is still being used by a\r
                                 driver that will not release it.\r
-  @retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER Handle is NULL.\r
   @retval EFI_INVALID_PARAMETER Protocol is NULL.\r
 \r
 **/\r
@@ -1193,7 +1197,7 @@ EFI_STATUS
   @retval EFI_NOT_FOUND         The interface was not found.\r
   @retval EFI_ACCESS_DENIED     The interface was not removed because the interface\r
                                 is still being used by a driver.\r
-  @retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER Handle is NULL.\r
   @retval EFI_INVALID_PARAMETER Protocol is NULL.\r
 \r
 **/\r
@@ -1233,7 +1237,7 @@ EFI_STATUS
 \r
   @retval EFI_SUCCESS           The interface information for the specified protocol was returned.\r
   @retval EFI_UNSUPPORTED       The device does not support the specified protocol.\r
-  @retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER Handle is NULL.\r
   @retval EFI_INVALID_PARAMETER Protocol is NULL.\r
   @retval EFI_INVALID_PARAMETER Interface is NULL.\r
 \r
@@ -1304,8 +1308,8 @@ EFI_STATUS
                                 that required the protocol interface.\r
 \r
   @retval EFI_SUCCESS           The protocol instance was closed.\r
-  @retval EFI_INVALID_PARAMETER 1) Handle is not a valid EFI_HANDLE.\r
-                                2) AgentHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER 1) Handle is NULL.\r
+                                2) AgentHandle is NULL.\r
                                 3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE.\r
                                 4) Protocol is NULL.\r
   @retval EFI_NOT_FOUND         1) Handle does not support the protocol specified by Protocol.\r
@@ -1719,6 +1723,10 @@ EFI_STATUS
   OUT UINT64            *MaximumVariableSize\r
   );\r
 \r
+//\r
+// Firmware should stop at a firmware user interface on next boot\r
+//\r
+#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI    0x0000000000000001\r
 \r
 //\r
 // EFI Runtime Services Table\r