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 <Protocol/Bds.h>
#include <Guid/EventGroup.h>
#define EFI_SET_TIMER_TO_SECOND 10000000 #define EFI_SET_TIMER_TO_SECOND 10000000
STATIC STATIC
@ -417,6 +419,25 @@ StartDefaultBootOnTimeout (
return EFI_SUCCESS; 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 This function uses policy data from the platform to determine what operating
system or system utility should be loaded and invoked. This function call system or system utility should be loaded and invoked. This function call
@ -449,6 +470,22 @@ BdsEntry (
UINT16 *BootNext; UINT16 *BootNext;
UINTN BootNextSize; UINTN BootNextSize;
CHAR16 BootVariableName[9]; 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); PERF_END (NULL, "DXE", NULL, 0);

View File

@ -2,7 +2,7 @@
# #
# Component description file for Bds module # Component description file for Bds module
# #
# Copyright (c) 2011-2013, ARM Ltd. All rights reserved.<BR> # Copyright (c) 2011-2014, ARM Ltd. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -50,6 +50,7 @@
NetLib NetLib
[Guids] [Guids]
gEfiEndOfDxeEventGroupGuid
gEfiFileSystemInfoGuid gEfiFileSystemInfoGuid
gArmGlobalVariableGuid gArmGlobalVariableGuid