]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Library/FrameworkUefiLib/UefiNotTiano.c
Remove IntelFrameworkPkg
[mirror_edk2.git] / IntelFrameworkPkg / Library / FrameworkUefiLib / UefiNotTiano.c
diff --git a/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiNotTiano.c b/IntelFrameworkPkg/Library/FrameworkUefiLib/UefiNotTiano.c
deleted file mode 100644 (file)
index 019fc02..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-/** @file\r
-  Library functions that abstract areas of conflict between framework and UEFI 2.0.\r
-\r
-  Help Port Framework code that has conflicts with UEFI 2.0 by hiding the\r
-  old conflicts with library functions and supporting implementations of the old\r
-  (EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way. This module is a DXE driver as\r
-  it contains DXE enum extensions for EFI event services.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-\r
-\r
-#include "UefiLibInternal.h"\r
-\r
-/**\r
-  Create a Legacy Boot Event.\r
-\r
-  Tiano extended the CreateEvent Type enum to add a legacy boot event type.\r
-  This was bad as Tiano did not own the enum. In UEFI 2.0 CreateEventEx was\r
-  added and now it's possible to not voilate the UEFI specification by\r
-  declaring a GUID for the legacy boot event class. This library supports\r
-  the EDK/EFI 1.10 form and EDK II/UEFI 2.0 form and allows common code to\r
-  work both ways.\r
-\r
-  @param  LegacyBootEvent   Returns the EFI event returned from gBS->CreateEvent(Ex).\r
-\r
-  @retval EFI_SUCCESS       Event was created.\r
-  @retval Other             Event was not created.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiCreateEventLegacyBoot (\r
-  OUT EFI_EVENT  *LegacyBootEvent\r
-  )\r
-{\r
-  return EfiCreateEventLegacyBootEx (\r
-           TPL_CALLBACK,\r
-           EfiEventEmptyFunction,\r
-           NULL,\r
-           LegacyBootEvent\r
-           );\r
-}\r
-\r
-/**\r
-  Create an EFI event in the Legacy Boot Event Group and allows\r
-  the caller to specify a notification function.\r
-\r
-  This function abstracts the creation of the Legacy Boot Event.\r
-  The Framework moved from a proprietary to UEFI 2.0 based mechanism.\r
-  This library abstracts the caller from how this event is created to prevent\r
-  to code form having to change with the version of the specification supported.\r
-  If LegacyBootEvent is NULL, then ASSERT().\r
-\r
-  @param  NotifyTpl         The task priority level of the event.\r
-  @param  NotifyFunction    The notification function to call when the event is signaled.\r
-  @param  NotifyContext     The content to pass to NotifyFunction when the event is signaled.\r
-  @param  LegacyBootEvent   Returns the EFI event returned from gBS->CreateEvent(Ex).\r
-\r
-  @retval EFI_SUCCESS       Event was created.\r
-  @retval Other             Event was not created.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiCreateEventLegacyBootEx (\r
-  IN  EFI_TPL           NotifyTpl,\r
-  IN  EFI_EVENT_NOTIFY  NotifyFunction,  OPTIONAL\r
-  IN  VOID              *NotifyContext,  OPTIONAL\r
-  OUT EFI_EVENT         *LegacyBootEvent\r
-  )\r
-{\r
-  EFI_STATUS    Status;\r
-\r
-  ASSERT (LegacyBootEvent != NULL);\r
-\r
-  if (gST->Hdr.Revision < 0x00020000) {\r
-    //\r
-    // prior to UEFI 2.0 use Tiano extension to EFI\r
-    //\r
-    Status = gBS->CreateEvent (\r
-                    EFI_EVENT_SIGNAL_LEGACY_BOOT | EVT_NOTIFY_SIGNAL,\r
-                    NotifyTpl,\r
-                    NotifyFunction,\r
-                    NotifyContext,\r
-                    LegacyBootEvent\r
-                    );\r
-  } else {\r
-    //\r
-    // For UEFI 2.0 and the future use an Event Group\r
-    //\r
-    Status = gBS->CreateEventEx (\r
-                    EVT_NOTIFY_SIGNAL,\r
-                    NotifyTpl,\r
-                    NotifyFunction,\r
-                    NotifyContext,\r
-                    &gEfiEventLegacyBootGuid,\r
-                    LegacyBootEvent\r
-                    );\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-/**\r
-  Create a Read to Boot Event.\r
-\r
-  Tiano extended the CreateEvent Type enum to add a ready to boot event type.\r
-  This was bad as Tiano did not own the enum. In UEFI 2.0 CreateEventEx was\r
-  added and now it's possible to not voilate the UEFI specification and use\r
-  the ready to boot event class defined in UEFI 2.0. This library supports\r
-  the EDK/EFI 1.10 form and EDK II/UEFI 2.0 form and allows common code to\r
-  work both ways.\r
-\r
-  @param  ReadyToBootEvent   Returns the EFI event returned from gBS->CreateEvent(Ex).\r
-\r
-  @retval EFI_SUCCESS       Event was created.\r
-  @retval Other             Event was not created.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiCreateEventReadyToBoot (\r
-  OUT EFI_EVENT  *ReadyToBootEvent\r
-  )\r
-{\r
-  return EfiCreateEventReadyToBootEx (\r
-           TPL_CALLBACK,\r
-           EfiEventEmptyFunction,\r
-           NULL,\r
-           ReadyToBootEvent\r
-           );\r
-}\r
-\r
-/**\r
-  Create an EFI event in the Ready To Boot Event Group and allows\r
-  the caller to specify a notification function.\r
-\r
-  This function abstracts the creation of the Ready to Boot Event.\r
-  The Framework moved from a proprietary to UEFI 2.0 based mechanism.\r
-  This library abstracts the caller from how this event is created to prevent\r
-  to code form having to change with the version of the specification supported.\r
-  If ReadyToBootEvent is NULL, then ASSERT().\r
-\r
-  @param  NotifyTpl         The task priority level of the event.\r
-  @param  NotifyFunction    The notification function to call when the event is signaled.\r
-  @param  NotifyContext     The content to pass to NotifyFunction when the event is signaled.\r
-  @param  ReadyToBootEvent  Returns the EFI event returned from gBS->CreateEvent(Ex).\r
-\r
-  @retval EFI_SUCCESS       Event was created.\r
-  @retval Other             Event was not created.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-EfiCreateEventReadyToBootEx (\r
-  IN  EFI_TPL           NotifyTpl,\r
-  IN  EFI_EVENT_NOTIFY  NotifyFunction,  OPTIONAL\r
-  IN  VOID              *NotifyContext,  OPTIONAL\r
-  OUT EFI_EVENT         *ReadyToBootEvent\r
-  )\r
-{\r
-  EFI_STATUS    Status;\r
-\r
-  ASSERT (ReadyToBootEvent != NULL);\r
-\r
-  if (gST->Hdr.Revision < 0x00020000) {\r
-    //\r
-    // prior to UEFI 2.0 use Tiano extension to EFI\r
-    //\r
-    Status = gBS->CreateEvent (\r
-                    EFI_EVENT_SIGNAL_READY_TO_BOOT | EFI_EVENT_NOTIFY_SIGNAL_ALL,\r
-                    NotifyTpl,\r
-                    NotifyFunction,\r
-                    NotifyContext,\r
-                    ReadyToBootEvent\r
-                    );\r
-  } else {\r
-    //\r
-    // For UEFI 2.0 and the future use an Event Group\r
-    //\r
-    Status = gBS->CreateEventEx (\r
-                    EVT_NOTIFY_SIGNAL,\r
-                    NotifyTpl,\r
-                    NotifyFunction,\r
-                    NotifyContext,\r
-                    &gEfiEventReadyToBootGuid,\r
-                    ReadyToBootEvent\r
-                    );\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-/**\r
-  Signal a Ready to Boot Event.\r
-\r
-  Create a Ready to Boot Event. Signal it and close it. This causes other\r
-  events of the same event group to be signaled in other modules.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-EfiSignalEventReadyToBoot (\r
-  VOID\r
-  )\r
-{\r
-  EFI_STATUS    Status;\r
-  EFI_EVENT     ReadyToBootEvent;\r
-\r
-  Status = EfiCreateEventReadyToBoot (&ReadyToBootEvent);\r
-  if (!EFI_ERROR (Status)) {\r
-    gBS->SignalEvent (ReadyToBootEvent);\r
-    gBS->CloseEvent (ReadyToBootEvent);\r
-  }\r
-}\r
-\r
-/**\r
-  Signal a Legacy Boot Event.\r
-\r
-  Create a legacy Boot Event. Signal it and close it. This causes other\r
-  events of the same event group to be signaled in other modules.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-EfiSignalEventLegacyBoot (\r
-  VOID\r
-  )\r
-{\r
-  EFI_STATUS    Status;\r
-  EFI_EVENT     LegacyBootEvent;\r
-\r
-  Status = EfiCreateEventLegacyBoot (&LegacyBootEvent);\r
-  if (!EFI_ERROR (Status)) {\r
-    gBS->SignalEvent (LegacyBootEvent);\r
-    gBS->CloseEvent (LegacyBootEvent);\r
-  }\r
-}\r
-\r
-\r
-/**\r
-  Check to see if the Firmware Volume (FV) Media Device Path is valid\r
-\r
-  Tiano extended the EFI 1.10 device path nodes. Tiano does not own this enum\r
-  so as we move to UEFI 2.0 support we must use a mechanism that conforms with\r
-  the UEFI 2.0 specification to define the FV device path. An UEFI GUIDed\r
-  device path is defined for Tiano extensions of device path. If the code\r
-  is compiled to conform with the UEFI 2.0 specification use the new device path\r
-  else use the old form for backwards compatability. The return value to this\r
-  function points to a location in FvDevicePathNode and it does not allocate\r
-  new memory for the GUID pointer that is returned.\r
-\r
-  @param  FvDevicePathNode  Pointer to FV device path to check.\r
-\r
-  @retval NULL              FvDevicePathNode is not valid.\r
-  @retval Other             FvDevicePathNode is valid and pointer to NameGuid was returned.\r
-\r
-**/\r
-EFI_GUID *\r
-EFIAPI\r
-EfiGetNameGuidFromFwVolDevicePathNode (\r
-  IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH  *FvDevicePathNode\r
-  )\r
-{\r
-  ASSERT (FvDevicePathNode != NULL);\r
-\r
-  //\r
-  // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.\r
-  // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with\r
-  // EFI 1.10 and UEFI 2.10.\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
-  }\r
-\r
-  return NULL;\r
-}\r
-\r
-\r
-/**\r
-  Initialize a Firmware Volume (FV) Media Device Path node.\r
-\r
-  Tiano extended the EFI 1.10 device path nodes. Tiano does not own this enum\r
-  so as we move to UEFI 2.0 support we must use a mechanism that conforms with\r
-  the UEFI 2.0 specification to define the FV device path. An UEFI GUIDed\r
-  device path is defined for Tiano extensions of device path. If the code\r
-  is compiled to conform with the UEFI 2.0 specification use the new device path\r
-  else use the old form for backwards compatability.\r
-\r
-  @param  FvDevicePathNode  Pointer to a FV device path node to initialize\r
-  @param  NameGuid          FV file name to use in FvDevicePathNode\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-EfiInitializeFwVolDevicepathNode (\r
-  IN OUT MEDIA_FW_VOL_FILEPATH_DEVICE_PATH  *FvDevicePathNode,\r
-  IN CONST EFI_GUID                         *NameGuid\r
-  )\r
-{\r
-  ASSERT (FvDevicePathNode  != NULL);\r
-  ASSERT (NameGuid          != NULL);\r
-\r
-  //\r
-  // EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.\r
-  // In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with\r
-  // EFI 1.10 and UEFI 2.10.\r
-  //\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