ArmPlatformPkg/Bds: Signal EndOfDxe PI Event

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15739 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Olivier Martin
2014-08-01 18:35:29 +00:00
committed by oliviermartin
parent 90152e593b
commit ae19003981
2 changed files with 39 additions and 1 deletions

View File

@@ -19,6 +19,8 @@
#include <Protocol/Bds.h>
#include <Guid/EventGroup.h>
#define EFI_SET_TIMER_TO_SECOND 10000000
STATIC
@@ -417,6 +419,25 @@ StartDefaultBootOnTimeout (
return EFI_SUCCESS;
}
/**
An empty function to pass error checking of CreateEventEx ().
@param Event Event whose notification function is being invoked.
@param Context Pointer to the notification function's context,
which is implementation-dependent.
**/
STATIC
VOID
EFIAPI
EmptyCallbackFunction (
IN EFI_EVENT Event,
IN VOID *Context
)
{
return;
}
/**
This function uses policy data from the platform to determine what operating
system or system utility should be loaded and invoked. This function call
@@ -449,6 +470,22 @@ BdsEntry (
UINT16 *BootNext;
UINTN BootNextSize;
CHAR16 BootVariableName[9];
EFI_EVENT EndOfDxeEvent;
//
// Signal EndOfDxe PI Event
//
Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL,
TPL_NOTIFY,
EmptyCallbackFunction,
NULL,
&gEfiEndOfDxeEventGroupGuid,
&EndOfDxeEvent
);
if (!EFI_ERROR (Status)) {
gBS->SignalEvent (EndOfDxeEvent);
}
PERF_END (NULL, "DXE", NULL, 0);