]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystem.h
MdeModulePkg/ResetSystemRuntimeDxe: Add platform filter and handler
[mirror_edk2.git] / MdeModulePkg / Universal / ResetSystemRuntimeDxe / ResetSystem.h
index 73e657d4e0ce1352f32cde68fd992844534fb5eb..ea5660274b643ab836afde3fbb6903a6b9b2395f 100644 (file)
@@ -20,6 +20,8 @@
 \r
 #include <Protocol/Reset.h>\r
 #include <Protocol/ResetNotification.h>\r
+#include <Protocol/PlatformSpecificResetFilter.h>\r
+#include <Protocol/PlatformSpecificResetHandler.h>\r
 #include <Guid/CapsuleVendor.h>\r
 \r
 #include <Library/BaseLib.h>\r
 #include <Library/ReportStatusCodeLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 \r
+//\r
+// The maximum recurstion depth to ResetSystem() by reset notification handlers\r
+//\r
+#define MAX_RESET_NOTIFY_DEPTH 10\r
+\r
 typedef struct {\r
   UINT32                   Signature;\r
   LIST_ENTRY               Link;\r
@@ -75,10 +82,18 @@ InitializeResetSystem (
 \r
   @param[in] ResetType          The type of reset to perform.\r
   @param[in] ResetStatus        The status code for the reset.\r
-  @param[in] DataSize           The size, in bytes, of WatchdogData.\r
+  @param[in] DataSize           The size, in bytes, of ResetData.\r
   @param[in] ResetData          For a ResetType of EfiResetCold, EfiResetWarm, or\r
                                 EfiResetShutdown the data buffer starts with a Null-terminated\r
                                 string, optionally followed by additional binary data.\r
+                                The string is a description that the caller may use to further\r
+                                indicate the reason for the system reset. ResetData is only\r
+                                valid if ResetStatus is something other than EFI_SUCCESS\r
+                                unless the ResetType is EfiResetPlatformSpecific\r
+                                where a minimum amount of ResetData is always required.\r
+                                For a ResetType of EfiResetPlatformSpecific the data buffer\r
+                                also starts with a Null-terminated string that is followed\r
+                                by an EFI_GUID that describes the specific type of reset to perform.\r
 \r
 **/\r
 VOID\r