If a code construct is defined in the UEFI 2.7 specification it must be included\r
by this include file.\r
\r
-Copyright (c) 2006 - 2017, 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
-http://opensource.org/licenses/bsd-license.php. \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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
///\r
AllocateAnyPages,\r
///\r
- /// Allocate any available range of pages whose uppermost address is less than \r
+ /// Allocate any available range of pages whose uppermost address is less than\r
/// or equal to a specified maximum address.\r
///\r
AllocateMaxAddress,\r
#define EFI_MEMORY_XP 0x0000000000004000ULL\r
#define EFI_MEMORY_RO 0x0000000000020000ULL\r
//\r
-// Physical memory persistence attribute. \r
+// Physical memory persistence attribute.\r
// The memory region supports byte-addressable non-volatility.\r
//\r
#define EFI_MEMORY_NV 0x0000000000008000ULL\r
UINT64 NumberOfPages;\r
///\r
/// Attributes of the memory region that describe the bit mask of capabilities\r
- /// for that memory region, and not necessarily the current settings for that \r
+ /// for that memory region, and not necessarily the current settings for that\r
/// memory region.\r
///\r
UINT64 Attribute;\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
- @retval EFI_SECURITY_VIOLATION \r
- The user has no permission to start UEFI device drivers on the device path \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
@param[in] VendorGuid A unique identifier for the vendor.\r
@param[in] Attributes Attributes bitmask to set for the variable.\r
@param[in] DataSize The size in bytes of the Data buffer. Unless the EFI_VARIABLE_APPEND_WRITE or\r
- EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS attribute is set, a size of zero \r
- causes the variable to be deleted. When the EFI_VARIABLE_APPEND_WRITE attribute is \r
- set, then a SetVariable() call with a DataSize of zero will not cause any change to \r
- the variable value (the timestamp associated with the variable may be updated however \r
- even if no new data value is provided,see the description of the \r
- EFI_VARIABLE_AUTHENTICATION_2 descriptor below. In this case the DataSize will not \r
- be zero since the EFI_VARIABLE_AUTHENTICATION_2 descriptor will be populated). \r
+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS attribute is set, a size of zero\r
+ causes the variable to be deleted. When the EFI_VARIABLE_APPEND_WRITE attribute is\r
+ set, then a SetVariable() call with a DataSize of zero will not cause any change to\r
+ the variable value (the timestamp associated with the variable may be updated however\r
+ even if no new data value is provided,see the description of the\r
+ EFI_VARIABLE_AUTHENTICATION_2 descriptor below. In this case the DataSize will not\r
+ be zero since the EFI_VARIABLE_AUTHENTICATION_2 descriptor will be populated).\r
@param[in] Data The contents for the variable.\r
\r
@retval EFI_SUCCESS The firmware has successfully stored the variable and its data as\r
@retval EFI_WRITE_PROTECTED The variable in question cannot be deleted.\r
@retval EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACESS being set,\r
but the AuthInfo does NOT pass the validation check carried out by the firmware.\r
- \r
+\r
@retval EFI_NOT_FOUND The variable trying to be updated or deleted was not found.\r
\r
**/\r
@retval EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not\r
understood.\r
@retval EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.\r
- @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the \r
+ @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the\r
image from being loaded. NULL is returned in *ImageHandle.\r
- @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a \r
- valid EFI_LOADED_IMAGE_PROTOCOL. However, the current \r
+ @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a\r
+ valid EFI_LOADED_IMAGE_PROTOCOL. However, the current\r
platform policy specifies that the image should not be started.\r
**/\r
typedef\r
/**\r
Terminates a loaded EFI image and returns control to boot services.\r
\r
- @param[in] ImageHandle Handle that identifies the image. This parameter is passed to the \r
+ @param[in] ImageHandle Handle that identifies the image. This parameter is passed to the\r
image on entry.\r
@param[in] ExitStatus The image's exit code.\r
@param[in] ExitDataSize The size, in bytes, of ExitData. Ignored if ExitStatus is EFI_SUCCESS.\r
@param[in] ExitData The 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
+ 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
///\r
ByRegisterNotify,\r
///\r
- /// Retrieve the set of handles from the handle database that support a \r
+ /// Retrieve the set of handles from the handle database that support a\r
/// specified protocol.\r
///\r
ByProtocol\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
- @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule \r
- is compatible with this platform but is not capable of being submitted or processed \r
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule\r
+ is compatible with this platform but is not capable of being submitted or processed\r
in runtime. The caller may resubmit the capsule prior to ExitBootServices().\r
- @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates \r
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates\r
the capsule is compatible with this platform but there are insufficient resources to process.\r
\r
**/\r
@retval EFI_UNSUPPORTED The capsule type is not supported on this platform, and\r
MaximumCapsuleSize and ResetType are undefined.\r
@retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL.\r
- @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule \r
- is compatible with this platform but is not capable of being submitted or processed \r
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has been previously called this error indicates the capsule\r
+ is compatible with this platform but is not capable of being submitted or processed\r
in runtime. The caller may resubmit the capsule prior to ExitBootServices().\r
- @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates \r
+ @retval EFI_OUT_OF_RESOURCES When ExitBootServices() has not been previously called then this error indicates\r
the capsule is compatible with this platform but there are insufficient resources to process.\r
\r
**/\r
\r
#if defined (MDE_CPU_IA32)\r
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32\r
-#elif defined (MDE_CPU_IPF)\r
- #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA64\r
#elif defined (MDE_CPU_X64)\r
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64\r
#elif defined (MDE_CPU_EBC)\r
#error Unknown Processor Type\r
#endif\r
\r
+//\r
+// The directory within the active EFI System Partition defined for delivery of capsule to firmware\r
+//\r
+#define EFI_CAPSULE_FILE_DIRECTORY L"\\EFI\\UpdateCapsule\\"\r
+\r
#include <Uefi/UefiPxe.h>\r
#include <Uefi/UefiGpt.h>\r
#include <Uefi/UefiInternalFormRepresentation.h>\r