]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/UefiRuntimeLib.h
Function headers in .h and .c files synchronized with spec
[mirror_edk2.git] / MdePkg / Include / Library / UefiRuntimeLib.h
index d6a709f3532d42f388ce3e08568e5af383664bfa..54be1017df43bd9c201985f7da5195269a2f3573 100644 (file)
@@ -113,7 +113,7 @@ EfiSetTime (
   );\r
 \r
 /**\r
-  Returns the current wakeup alarm clock setting.\r
+  This service is a wrapper for the UEFI Runtime Service GetWakeupTime().\r
 \r
   The alarm clock time may be rounded from the set alarm clock time to be within the resolution\r
   of the alarm clock device. The resolution of the alarm clock device is defined to be one second.\r
@@ -142,7 +142,14 @@ EfiGetWakeupTime (
   );\r
 \r
 /**\r
-  Sets the system wakeup alarm clock time.\r
+  This service is a wrapper for the UEFI Runtime Service SetWakeupTime()\r
+\r
+  Setting a system wakeup alarm causes the system to wake up or power on at the set time.\r
+  When the alarm fires, the alarm signal is latched until it is acknowledged by calling SetWakeupTime()\r
+  to disable the alarm. If the alarm fires before the system is put into a sleeping or off state,\r
+  since the alarm signal is latched the system will immediately wake up. If the alarm fires while\r
+  the system is off and there is insufficient power to power on the system, the system is powered\r
+  on when power is restored.\r
 \r
   @param  Enable  Enable or disable the wakeup alarm.\r
   @param  Time    If Enable is TRUE, the time to set the wakeup alarm for. Type EFI_TIME\r
@@ -164,10 +171,17 @@ EfiSetWakeupTime (
   );\r
 \r
 /**\r
-  Return value of variable.\r
+  This service is a wrapper for the UEFI Runtime Service GetVariable().\r
 \r
-  @param  VariableName the name of the vendor's variable, it's a\r
-                       Null-Terminated Unicode String\r
+  Each vendor may create and manage its own variables without the risk of name conflicts by\r
+  using a unique VendorGuid. When a variable is set its Attributes are supplied to indicate\r
+  how the data variable should be stored and maintained by the system. The attributes affect\r
+  when the variable may be accessed and volatility of the data. Any attempts to access a variable\r
+  that does not have the attribute set for runtime access will yield the EFI_NOT_FOUND error.\r
+  If the Data buffer is too small to hold the contents of the variable, the error EFI_BUFFER_TOO_SMALL\r
+  is returned and DataSize is set to the required buffer size to obtain the data.\r
+\r
+  @param  VariableName the name of the vendor's variable, it's a Null-Terminated Unicode String\r
   @param  VendorGuid   Unify identifier for vendor.\r
   @param  Attributes   Point to memory location to return the attributes of variable. If the point\r
                        is NULL, the parameter would be ignored.\r
@@ -197,7 +211,13 @@ EfiGetVariable (
   );\r
 \r
 /**\r
-  Enumerates variable's name.\r
+  This service is a wrapper for the UEFI Runtime Service GetNextVariableName().\r
+\r
+  GetNextVariableName() is called multiple times to retrieve the VariableName and VendorGuid of\r
+  all variables currently available in the system. On each call to GetNextVariableName() the\r
+  previous results are passed into the interface, and on output the interface returns the next\r
+  variable name data. When the entire variable list has been returned, the error EFI_NOT_FOUND\r
+  is returned.\r
 \r
   @param  VariableNameSize As input, point to maxinum size of variable name.\r
                            As output, point to actual size of varaible name.\r
@@ -229,7 +249,10 @@ EfiGetNextVariableName (
   );\r
 \r
 /**\r
-  Sets value of variable.\r
+  This service is a wrapper for the UEFI Runtime Service GetNextVariableName()\r
+\r
+  Variables are stored by the firmware and may maintain their values across power cycles. Each vendor\r
+  may create and manage its own variables without the risk of name conflicts by using a unique VendorGuid.\r
 \r
   @param  VariableName the name of the vendor's variable, it's a\r
                        Null-Terminated Unicode String\r
@@ -265,7 +288,13 @@ EfiSetVariable (
   );\r
 \r
 /**\r
-  Returns the next high 32 bits of platform's monotonic counter.\r
+  This service is a wrapper for the UEFI Runtime Service GetNextHighMonotonicCount().\r
+\r
+  The platform¡¯s monotonic counter is comprised of two 32-bit quantities: the high 32 bits and\r
+  the low 32 bits. During boot service time the low 32-bit value is volatile: it is reset to zero\r
+  on every system reset and is increased by 1 on every call to GetNextMonotonicCount(). The high\r
+  32-bit value is nonvolatile and is increased by 1 whenever the system resets or whenever the low\r
+  32-bit count (returned by GetNextMonoticCount()) overflows.\r
 \r
   @param  HighCount Pointer to returned value.\r
 \r
@@ -281,22 +310,32 @@ EfiGetNextHighMonotonicCount (
   );\r
 \r
 /**\r
-  Resets the entire platform.\r
+  This service is a wrapper for the UEFI Runtime Service ResetSystem().\r
+\r
+  The ResetSystem()function resets the entire platform, including all processors and devices,and reboots the system.\r
+  Calling this interface with ResetType of EfiResetCold causes a system-wide reset. This sets all circuitry within\r
+  the system to its initial state. This type of reset is asynchronous to system operation and operates without regard\r
+  to cycle boundaries. EfiResetCold is tantamount to a system power cycle.\r
+  Calling this interface with ResetType of EfiResetWarm causes a system-wide initialization. The processors are set to\r
+  their initial state, and pending cycles are not corrupted. If the system does not support this reset type, then an\r
+  EfiResetCold must be performed.\r
+  Calling this interface with ResetType of EfiResetShutdown causes the system to enter a power state equivalent to the\r
+  ACPI G2/S5 or G3 states. If the system does not support this reset type, then when the system is rebooted, it should\r
+  exhibit the EfiResetCold attributes.\r
+  The platform may optionally log the parmeters from any non-normal reset that occurs.\r
+  The ResetSystem() function does not return.\r
 \r
   @param  ResetType   The type of reset to perform.\r
-  @param  ResetStatus The status code for the reset. If the system reset is part of a\r
-                      normal operation, the status code would be EFI_SUCCESS. If the system\r
-                      reset is due to some type of failure the most appropriate EFI Status\r
-                      code would be used.\r
+  @param  ResetStatus The status code for the reset. If the system reset is part of a normal operation, the status code\r
+                      would be EFI_SUCCESS. If the system reset is due to some type of failure the most appropriate EFI\r
+                      Status code would be used.\r
   @param  DataSizeThe size, in bytes, of ResetData.\r
-  @param  ResetData   For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown\r
-                      the data buffer starts with a Null-terminated Unicode string, optionally\r
-                      followed by additional binary data. The string is a description that the\r
-                      caller may use to further indicate the reason for the system reset. ResetData\r
-                      is only valid if ResetStatus is something other then EFI_SUCCESS. This\r
-                      pointer must be a physical address. For a ResetType of EfiRestUpdate the\r
-                      data buffer also starts with a Null-terminated string that is followed by\r
-                      a physical VOID * to an EFI_CAPSULE_HEADER.\r
+  @param  ResetData   For a ResetType of EfiResetCold, EfiResetWarm, or EfiResetShutdown the data buffer starts with a\r
+                      Null-terminated Unicode string, optionally followed by additional binary data. The string is a\r
+                      description that the caller may use to further indicate the reason for the system reset. ResetData\r
+                      is only valid if ResetStatus is something other then EFI_SUCCESS. This pointer must be a physical\r
+                      address. For a ResetType of EfiRestUpdate the data buffer also starts with a Null-terminated string\r
+                      that is followed by a physical VOID * to an EFI_CAPSULE_HEADER.\r
 \r
 **/\r
 VOID\r
@@ -309,7 +348,10 @@ EfiResetSystem (
   );\r
 \r
 /**\r
-  This service converts a function pointer from physical to virtual addressing. \r
+  This service is a wrapper for the UEFI Runtime Service ConvertPointer().  \r
+\r
+  The ConvertPointer() function is used by an EFI component during the SetVirtualAddressMap() operation.\r
+  ConvertPointer()must be called using physical address pointers during the execution of SetVirtualAddressMap().\r
 \r
   @param  DebugDisposition   Supplies type information for the pointer being converted.\r
   @param  Address            The pointer to a pointer that is to be fixed to be the\r
@@ -360,7 +402,12 @@ EfiConvertFunctionPointer (
   );\r
 \r
 /**\r
-  Change the runtime addressing mode of EFI firmware from physical to virtual.\r
+  This service is a wrapper for the UEFI Runtime Service SetVirtualAddressMap().\r
+\r
+  The SetVirtualAddressMap() function is used by the OS loader. The function can only be called\r
+  at runtime, and is called by the owner of the system¡¯s memory map. I.e., the component which\r
+  called ExitBootServices(). All events of type EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE must be signaled\r
+  before SetVirtualAddressMap() returns.\r
 \r
   @param  MemoryMapSize         The size in bytes of VirtualMap.\r
   @param  DescriptorSize        The size in bytes of an entry in the VirtualMap.\r
@@ -412,12 +459,12 @@ EfiConvertList (
   );\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
+  This service is a wrapper for the UEFI Runtime Service UpdateCapsule().\r
+\r
+  Passes capsules to the firmware with both virtual and physical mapping. Depending on the intended\r
+  consumption, the firmware may process the capsule immediately. If the payload should persist across a\r
+  system reset, the reset value returned from EFI_QueryCapsuleCapabilities must be passed into ResetSystem()\r
+  and will cause the capsule to be processed by 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
@@ -455,6 +502,8 @@ EfiUpdateCapsule (
 \r
 \r
 /**\r
+  This service is a wrapper for the UEFI Runtime Service QueryCapsuleCapabilities().\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
@@ -497,7 +546,7 @@ EfiQueryCapsuleCapabilities (
 \r
 \r
 /**\r
-  Returns information about the EFI variables.\r
+  This service is a wrapper for the UEFI Runtime Service QueryVariableInfo().\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
@@ -528,6 +577,7 @@ EfiQueryCapsuleCapabilities (
                                 MaximumVariableStorageSize,\r
                                 RemainingVariableStorageSize, MaximumVariableSize\r
                                 are undefined.\r
+\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r