]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiLib/UefiNotTiano.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Library / UefiLib / UefiNotTiano.c
index 6bbd7c137ff586baa4bd25945416918288f062f1..8c8d9b29f8c876acbc3085244a43117e7c784ef1 100644 (file)
@@ -7,18 +7,10 @@
   it contains DXE enum extensions for EFI event services.\r
 \r
 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  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
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-\r
-\r
 #include "UefiLibInternal.h"\r
 \r
 /**\r
@@ -75,8 +67,8 @@ EFI_STATUS
 EFIAPI\r
 EfiCreateEventLegacyBootEx (\r
   IN  EFI_TPL           NotifyTpl,\r
-  IN  EFI_EVENT_NOTIFY  NotifyFunction,  OPTIONAL\r
-  IN  VOID              *NotifyContext,  OPTIONAL\r
+  IN  EFI_EVENT_NOTIFY  NotifyFunction   OPTIONAL,\r
+  IN  VOID              *NotifyContext   OPTIONAL,\r
   OUT EFI_EVENT         *LegacyBootEvent\r
   )\r
 {\r
@@ -86,7 +78,7 @@ EfiCreateEventLegacyBootEx (
   ASSERT (LegacyBootEvent != NULL);\r
 \r
   if (gST->Hdr.Revision < EFI_2_00_SYSTEM_TABLE_REVISION) {\r
-    DEBUG ((EFI_D_ERROR, "EFI1.1 can't support LegacyBootEvent!"));\r
+    DEBUG ((DEBUG_ERROR, "EFI1.1 can't support LegacyBootEvent!"));\r
     ASSERT (FALSE);\r
 \r
     return EFI_UNSUPPORTED;\r
@@ -103,6 +95,7 @@ EfiCreateEventLegacyBootEx (
     } else {\r
       WorkerNotifyFunction = NotifyFunction;\r
     }\r
+\r
     Status = gBS->CreateEventEx (\r
                     EVT_NOTIFY_SIGNAL,\r
                     NotifyTpl,\r
@@ -170,8 +163,8 @@ EFI_STATUS
 EFIAPI\r
 EfiCreateEventReadyToBootEx (\r
   IN  EFI_TPL           NotifyTpl,\r
-  IN  EFI_EVENT_NOTIFY  NotifyFunction,  OPTIONAL\r
-  IN  VOID              *NotifyContext,  OPTIONAL\r
+  IN  EFI_EVENT_NOTIFY  NotifyFunction   OPTIONAL,\r
+  IN  VOID              *NotifyContext   OPTIONAL,\r
   OUT EFI_EVENT         *ReadyToBootEvent\r
   )\r
 {\r
@@ -181,7 +174,7 @@ EfiCreateEventReadyToBootEx (
   ASSERT (ReadyToBootEvent != NULL);\r
 \r
   if (gST->Hdr.Revision < EFI_2_00_SYSTEM_TABLE_REVISION) {\r
-    DEBUG ((EFI_D_ERROR, "EFI1.1 can't support ReadyToBootEvent!"));\r
+    DEBUG ((DEBUG_ERROR, "EFI1.1 can't support ReadyToBootEvent!"));\r
     ASSERT (FALSE);\r
 \r
     return EFI_UNSUPPORTED;\r
@@ -198,6 +191,7 @@ EfiCreateEventReadyToBootEx (
     } else {\r
       WorkerNotifyFunction = NotifyFunction;\r
     }\r
+\r
     Status = gBS->CreateEventEx (\r
                     EVT_NOTIFY_SIGNAL,\r
                     NotifyTpl,\r
@@ -211,7 +205,6 @@ EfiCreateEventReadyToBootEx (
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot().\r
 \r
@@ -227,14 +220,28 @@ EfiSignalEventReadyToBoot (
   VOID\r
   )\r
 {\r
-  EFI_STATUS    Status;\r
-  EFI_EVENT     ReadyToBootEvent;\r
+  EFI_STATUS  Status;\r
+  EFI_EVENT   ReadyToBootEvent;\r
+  EFI_EVENT   AfterReadyToBootEvent;\r
 \r
   Status = EfiCreateEventReadyToBoot (&ReadyToBootEvent);\r
   if (!EFI_ERROR (Status)) {\r
     gBS->SignalEvent (ReadyToBootEvent);\r
     gBS->CloseEvent (ReadyToBootEvent);\r
   }\r
+\r
+  Status = gBS->CreateEventEx (\r
+                  EVT_NOTIFY_SIGNAL,\r
+                  TPL_CALLBACK,\r
+                  EfiEventEmptyFunction,\r
+                  NULL,\r
+                  &gEfiEventAfterReadyToBootGuid,\r
+                  &AfterReadyToBootEvent\r
+                  );\r
+  if (!EFI_ERROR (Status)) {\r
+    gBS->SignalEvent (AfterReadyToBootEvent);\r
+    gBS->CloseEvent (AfterReadyToBootEvent);\r
+  }\r
 }\r
 \r
 /**\r
@@ -252,8 +259,8 @@ EfiSignalEventLegacyBoot (
   VOID\r
   )\r
 {\r
-  EFI_STATUS    Status;\r
-  EFI_EVENT     LegacyBootEvent;\r
+  EFI_STATUS  Status;\r
+  EFI_EVENT   LegacyBootEvent;\r
 \r
   Status = EfiCreateEventLegacyBoot (&LegacyBootEvent);\r
   if (!EFI_ERROR (Status)) {\r
@@ -262,7 +269,6 @@ EfiSignalEventLegacyBoot (
   }\r
 }\r
 \r
-\r
 /**\r
   Check to see if the Firmware Volume (FV) Media Device Path is valid\r
 \r
@@ -289,15 +295,15 @@ EfiGetNameGuidFromFwVolDevicePathNode (
 {\r
   ASSERT (FvDevicePathNode != NULL);\r
 \r
-  if (DevicePathType (&FvDevicePathNode->Header) == MEDIA_DEVICE_PATH &&\r
-      DevicePathSubType (&FvDevicePathNode->Header) == MEDIA_PIWG_FW_FILE_DP) {\r
-    return (EFI_GUID *) &FvDevicePathNode->FvFileName;\r
+  if ((DevicePathType (&FvDevicePathNode->Header) == MEDIA_DEVICE_PATH) &&\r
+      (DevicePathSubType (&FvDevicePathNode->Header) == MEDIA_PIWG_FW_FILE_DP))\r
+  {\r
+    return (EFI_GUID *)&FvDevicePathNode->FvFileName;\r
   }\r
 \r
   return NULL;\r
 }\r
 \r
-\r
 /**\r
   Initialize a Firmware Volume (FV) Media Device Path node.\r
 \r
@@ -327,10 +333,9 @@ EfiInitializeFwVolDevicepathNode (
   //\r
   // Use the new Device path that does not conflict with the UEFI\r
   //\r
-  FvDevicePathNode->Header.Type     = MEDIA_DEVICE_PATH;\r
-  FvDevicePathNode->Header.SubType  = MEDIA_PIWG_FW_FILE_DP;\r
+  FvDevicePathNode->Header.Type    = MEDIA_DEVICE_PATH;\r
+  FvDevicePathNode->Header.SubType = MEDIA_PIWG_FW_FILE_DP;\r
   SetDevicePathNodeLength (&FvDevicePathNode->Header, sizeof (MEDIA_FW_VOL_FILEPATH_DEVICE_PATH));\r
 \r
   CopyGuid (&FvDevicePathNode->FvFileName, NameGuid);\r
 }\r
-\r