From c9c0c803ecde461695329acaeae6a4ed6a770a26 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Tue, 11 Nov 2008 04:22:00 +0000 Subject: [PATCH] Do not use statically macros of EFI_SPECIFICATION_VERSION: Use gST->Hdr.Revision to judge the use of UEFI 2.0 services or EFI 1.0 services git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6448 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/Dxe/EfiDriverLib/Event.c | 167 +++++++++--------- 1 file changed, 83 insertions(+), 84 deletions(-) diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/Event.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/Event.c index 3cb668e966..c4fd2afbbd 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/Event.c +++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/Event.c @@ -190,8 +190,6 @@ Returns: return EFI_SUCCESS; } -#if (EFI_SPECIFICATION_VERSION >= 0x00020000) - static VOID EFIAPI @@ -211,7 +209,7 @@ EventNotifySignalAllNullEvent ( return; } -#endif + EFI_STATUS EFIAPI @@ -245,49 +243,50 @@ Returns: UINT32 EventType; EFI_EVENT_NOTIFY WorkerNotifyFunction; -#if (EFI_SPECIFICATION_VERSION < 0x00020000) - - if (NotifyFunction == NULL) { - EventType = EFI_EVENT_SIGNAL_LEGACY_BOOT | EFI_EVENT_NOTIFY_SIGNAL_ALL; - } else { - EventType = EFI_EVENT_SIGNAL_LEGACY_BOOT; - } - WorkerNotifyFunction = NotifyFunction; - - // - // prior to UEFI 2.0 use Tiano extension to EFI - // - Status = gBS->CreateEvent ( - EventType, - NotifyTpl, - WorkerNotifyFunction, - NotifyContext, - LegacyBootEvent - ); -#else - - EventType = EFI_EVENT_NOTIFY_SIGNAL; - if (NotifyFunction == NULL) { - // - // CreatEventEx will check NotifyFunction is NULL or not - // - WorkerNotifyFunction = EventNotifySignalAllNullEvent; - } else { + if (gST->Hdr.Revision < 0x00020000) { + + if (NotifyFunction == NULL) { + EventType = EFI_EVENT_SIGNAL_LEGACY_BOOT | EFI_EVENT_NOTIFY_SIGNAL_ALL; + } else { + EventType = EFI_EVENT_SIGNAL_LEGACY_BOOT; + } WorkerNotifyFunction = NotifyFunction; + + // + // prior to UEFI 2.0 use Tiano extension to EFI + // + Status = gBS->CreateEvent ( + EventType, + NotifyTpl, + WorkerNotifyFunction, + NotifyContext, + LegacyBootEvent + ); + } else { + + EventType = EFI_EVENT_NOTIFY_SIGNAL; + if (NotifyFunction == NULL) { + // + // CreatEventEx will check NotifyFunction is NULL or not + // + WorkerNotifyFunction = EventNotifySignalAllNullEvent; + } else { + WorkerNotifyFunction = NotifyFunction; + } + + // + // For UEFI 2.0 and the future use an Event Group + // + Status = gBS->CreateEventEx ( + EventType, + NotifyTpl, + WorkerNotifyFunction, + NotifyContext, + &gEfiEventLegacyBootGuid, + LegacyBootEvent + ); } - // - // For UEFI 2.0 and the future use an Event Group - // - Status = gBS->CreateEventEx ( - EventType, - NotifyTpl, - WorkerNotifyFunction, - NotifyContext, - &gEfiEventLegacyBootGuid, - LegacyBootEvent - ); -#endif return Status; } @@ -324,48 +323,48 @@ Return: UINT32 EventType; EFI_EVENT_NOTIFY WorkerNotifyFunction; -#if (EFI_SPECIFICATION_VERSION < 0x00020000) - - if (NotifyFunction == NULL) { - EventType = EFI_EVENT_SIGNAL_READY_TO_BOOT | EFI_EVENT_NOTIFY_SIGNAL_ALL; - } else { - EventType = EFI_EVENT_SIGNAL_READY_TO_BOOT; - } - WorkerNotifyFunction = NotifyFunction; - - // - // prior to UEFI 2.0 use Tiano extension to EFI - // - Status = gBS->CreateEvent ( - EventType, - NotifyTpl, - WorkerNotifyFunction, - NotifyContext, - ReadyToBootEvent - ); -#else - - EventType = EFI_EVENT_NOTIFY_SIGNAL; - if (NotifyFunction == NULL) { - // - // CreatEventEx will check NotifyFunction is NULL or not - // - WorkerNotifyFunction = EventNotifySignalAllNullEvent; - } else { + if (gST->Hdr.Revision < 0x00020000) { + + if (NotifyFunction == NULL) { + EventType = EFI_EVENT_SIGNAL_READY_TO_BOOT | EFI_EVENT_NOTIFY_SIGNAL_ALL; + } else { + EventType = EFI_EVENT_SIGNAL_READY_TO_BOOT; + } WorkerNotifyFunction = NotifyFunction; + + // + // prior to UEFI 2.0 use Tiano extension to EFI + // + Status = gBS->CreateEvent ( + EventType, + NotifyTpl, + WorkerNotifyFunction, + NotifyContext, + ReadyToBootEvent + ); + } else { + + EventType = EFI_EVENT_NOTIFY_SIGNAL; + if (NotifyFunction == NULL) { + // + // CreatEventEx will check NotifyFunction is NULL or not + // + WorkerNotifyFunction = EventNotifySignalAllNullEvent; + } else { + WorkerNotifyFunction = NotifyFunction; + } + + // + // For UEFI 2.0 and the future use an Event Group + // + Status = gBS->CreateEventEx ( + EventType, + NotifyTpl, + WorkerNotifyFunction, + NotifyContext, + &gEfiEventReadyToBootGuid, + ReadyToBootEvent + ); } - - // - // For UEFI 2.0 and the future use an Event Group - // - Status = gBS->CreateEventEx ( - EventType, - NotifyTpl, - WorkerNotifyFunction, - NotifyContext, - &gEfiEventReadyToBootGuid, - ReadyToBootEvent - ); -#endif return Status; }