]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/ResetSystemPei/ResetSystem.c
MdeModulePkg/ResetSystemPei: Add reset notifications in PEI
[mirror_edk2.git] / MdeModulePkg / Universal / ResetSystemPei / ResetSystem.c
index 0832e86fa3bf3cba2fa6ecaf19d4c3b3d53530b4..2c9b8a1bae018702a19ce5bcff84f55c93df9bcf 100644 (file)
@@ -25,6 +25,7 @@ EFI_PEI_RESET2_PPI mPpiReset2 = {
 \r
 EFI_GUID                *mProcessingOrder[] = {\r
   &gEdkiiPlatformSpecificResetFilterPpiGuid,\r
+  &gEdkiiPlatformSpecificResetNotificationPpiGuid,\r
   &gEdkiiPlatformSpecificResetHandlerPpiGuid\r
 };\r
 \r
@@ -36,6 +37,14 @@ RESET_FILTER_INSTANCE   mResetFilter = {
   &gEdkiiPlatformSpecificResetFilterPpiGuid\r
 };\r
 \r
+RESET_FILTER_INSTANCE   mResetNotification = {\r
+  {\r
+    RegisterResetNotify,\r
+    UnregisterResetNotify\r
+  },\r
+  &gEdkiiPlatformSpecificResetNotificationPpiGuid\r
+};\r
+\r
 RESET_FILTER_INSTANCE   mResetHandler = {\r
   {\r
     RegisterResetNotify,\r
@@ -55,6 +64,11 @@ EFI_PEI_PPI_DESCRIPTOR mPpiListReset[] = {
     &gEdkiiPlatformSpecificResetFilterPpiGuid,\r
     &mResetFilter.ResetFilter\r
   },\r
+  {\r
+    EFI_PEI_PPI_DESCRIPTOR_PPI,\r
+    &gEdkiiPlatformSpecificResetNotificationPpiGuid,\r
+    &mResetNotification.ResetFilter\r
+  },\r
   {\r
     EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,\r
     &gEdkiiPlatformSpecificResetHandlerPpiGuid,\r
@@ -101,6 +115,7 @@ RegisterResetNotify (
 \r
   ResetFilter = (RESET_FILTER_INSTANCE *) This;\r
   ASSERT (CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetFilterPpiGuid) ||\r
+          CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetNotificationPpiGuid) ||\r
           CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetHandlerPpiGuid)\r
           );\r
 \r
@@ -187,6 +202,7 @@ UnregisterResetNotify (
 \r
   ResetFilter = (RESET_FILTER_INSTANCE *)This;\r
   ASSERT (CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetFilterPpiGuid) ||\r
+    CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetNotificationPpiGuid) ||\r
     CompareGuid (ResetFilter->Guid, &gEdkiiPlatformSpecificResetHandlerPpiGuid)\r
   );\r
 \r