git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@954 6f19259b...
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 13 Jul 2006 06:05:23 +0000 (06:05 +0000)
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 13 Jul 2006 06:05:23 +0000 (06:05 +0000)
MdePkg/Include/Library/DxeRuntimeDriverLib.h

index 247979c..e997a6d 100644 (file)
@@ -301,7 +301,39 @@ EfiConvertList (
   IN OUT LIST_ENTRY       *ListHead\r
   );\r
 \r
+/**\r
\r
+  Passes capsules to the firmware with both virtual and physical mapping. \r
+  Depending on the intended consumption, the firmware may\r
+  process the capsule immediately. If the payload should persist across a\r
+  system reset, the reset value returned from EFI_QueryCapsuleCapabilities must\r
+  be passed into ResetSystem() and will cause the capsule to be processed by \r
+  the firmware as part of the reset process.\r
+  \r
+  @param  CapsuleHeaderArray    Virtual pointer to an array of virtual pointers to the capsules\r
+                                being passed into update capsule. Each capsules is assumed to\r
+                                stored in contiguous virtual memory. The capsules in the\r
+                                CapsuleHeaderArray must be the same capsules as the\r
+                                ScatterGatherList. The CapsuleHeaderArray must\r
+                                have the capsules in the same order as the ScatterGatherList.\r
+  @param  CapsuleCount          Number of pointers to EFI_CAPSULE_HEADER in\r
+                                CaspuleHeaderArray.\r
+  @param  ScatterGatherList     Physical pointer to a set of\r
+                                EFI_CAPSULE_BLOCK_DESCRIPTOR that describes the\r
+                                location in physical memory of a set of capsules. See Related\r
+                                Definitions for an explanation of how more than one capsule is\r
+                                passed via this interface. The capsules in the\r
+                                ScatterGatherList must be in the same order as the\r
+                                CapsuleHeaderArray. This parameter is only referenced if\r
+                                the capsules are defined to persist across system reset.\r
+\r
+  @retval EFI_SUCCESS           Valid capsule was passed. I 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 is NULL or ResetTye is NULL.\r
+  @retval EFI_DEVICE_ERROR      The capsule update was started, but failed due to a device error.\r
 \r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 EfiUpdateCapsule (\r
@@ -311,6 +343,38 @@ EfiUpdateCapsule (
   );\r
 \r
 \r
+/**\r
\r
+  The QueryCapsuleCapabilities() function allows a caller to test to see if a capsule or\r
+  capsules can be updated via UpdateCapsule(). The Flags values in the capsule header and\r
+  size of the entire capsule is checked.\r
+  If the caller needs to query for generic capsule capability a fake EFI_CAPSULE_HEADER can be\r
+  constructed where CapsuleImageSize is equal to HeaderSize that is equal to sizeof\r
+  (EFI_CAPSULE_HEADER). To determine reset requirements,\r
+  CAPSULE_FLAGS_PERSIST_ACROSS_RESET should be set in the Flags field of the\r
+  EFI_CAPSULE_HEADER.\r
+  The firmware must support any capsule that has the\r
+  CAPSULE_FLAGS_PERSIST_ACROSS_RESET flag set in EFI_CAPSULE_HEADER. The\r
+  firmware sets the policy for what capsules are supported that do not have the\r
+  CAPSULE_FLAGS_PERSIST_ACROSS_RESET flag set.\r
+  \r
+  @param  CapsuleHeaderArray    Virtual pointer to an array of virtual pointers to the capsules\r
+                                being passed into update capsule. The capsules are assumed to\r
+                                stored in contiguous virtual memory.\r
+  @param  CapsuleCount          Number of pointers to EFI_CAPSULE_HEADER in\r
+                                CaspuleHeaderArray.\r
+  @param  MaxiumCapsuleSize     On output the maximum size that UpdateCapsule() can\r
+                                support as an argument to UpdateCapsule() via\r
+                                CapsuleHeaderArray and ScatterGatherList.\r
+                                Undefined on input.\r
+  @param  ResetType             Returns the type of reset required for the capsule update.\r
+\r
+  @retval EFI_SUCCESS           Valid answer returned..\r
+  @retval EFI_INVALID_PARAMETER MaximumCapsuleSize is NULL.\r
+  @retval EFI_UNSUPPORTED       The capsule type is not supported on this platform, and\r
+                                MaximumCapsuleSize and ResetType are undefined.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 EfiQueryCapsuleCapabilities (\r
@@ -320,6 +384,39 @@ EfiQueryCapsuleCapabilities (
   OUT EFI_RESET_TYPE           *ResetType\r
   );\r
 \r
+\r
+/**\r
\r
+  The QueryVariableInfo() function allows a caller to obtain the information about the\r
+  maximum size of the storage space available for the EFI variables, the remaining size of the storage\r
+  space available for the EFI variables and the maximum size of each individual EFI variable,\r
+  associated with the attributes specified.\r
+  The returned MaximumVariableStorageSize, RemainingVariableStorageSize,\r
+  MaximumVariableSize information may change immediately after the call based on other\r
+  runtime activities including asynchronous error events. Also, these values associated with different\r
+  attributes are not additive in nature.\r
+  \r
+  @param  Attributes            Attributes bitmask to specify the type of variables on\r
+                                which to return information. Refer to the\r
+                                GetVariable() function description.\r
+  @param  MaximumVariableStorageSize  \r
+                                On output the maximum size of the storage space\r
+                                available for the EFI variables associated with the\r
+                                attributes specified.\r
+  @param  RemainingVariableStorageSize \r
+                                Returns the remaining size of the storage space\r
+                                available for the EFI variables associated with the\r
+                                attributes specified..\r
+  @param  MaximumVariableSize   Returns the maximum size of the individual EFI\r
+                                variables associated with the attributes specified.\r
+\r
+  @retval EFI_SUCCESS           Valid answer returned.\r
+  @retval EFI_INVALID_PARAMETER An invalid combination of attribute bits was supplied.\r
+  @retval EFI_UNSUPPORTED       EFI_UNSUPPORTED The attribute is not supported on this platform, and the\r
+                                MaximumVariableStorageSize,\r
+                                RemainingVariableStorageSize, MaximumVariableSize\r
+                                are undefined.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 EfiQueryVariableInfo (\r
@@ -330,3 +427,4 @@ EfiQueryVariableInfo (
   );\r
 \r
 #endif\r
+\r