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
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
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
} else {\r
WorkerNotifyFunction = NotifyFunction;\r
}\r
+\r
Status = gBS->CreateEventEx (\r
EVT_NOTIFY_SIGNAL,\r
NotifyTpl,\r
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
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
} else {\r
WorkerNotifyFunction = NotifyFunction;\r
}\r
+\r
Status = gBS->CreateEventEx (\r
EVT_NOTIFY_SIGNAL,\r
NotifyTpl,\r
return Status;\r
}\r
\r
-\r
/**\r
Create, Signal, and Close the Ready to Boot event using EfiSignalEventReadyToBoot().\r
\r
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
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
}\r
}\r
\r
-\r
/**\r
Check to see if the Firmware Volume (FV) Media Device Path is valid\r
\r
{\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
//\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