From ae19003981f8d9c11a14a48f4f0e511eab5bb995 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Fri, 1 Aug 2014 18:35:29 +0000 Subject: ArmPlatformPkg/Bds: Signal EndOfDxe PI Event Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15739 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPlatformPkg/Bds/Bds.c | 37 +++++++++++++++++++++++++++++++++++++ ArmPlatformPkg/Bds/Bds.inf | 3 ++- 2 files changed, 39 insertions(+), 1 deletion(-) (limited to 'ArmPlatformPkg') diff --git a/ArmPlatformPkg/Bds/Bds.c b/ArmPlatformPkg/Bds/Bds.c index e2f97307f6..b84faf91b6 100644 --- a/ArmPlatformPkg/Bds/Bds.c +++ b/ArmPlatformPkg/Bds/Bds.c @@ -19,6 +19,8 @@ #include +#include + #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); diff --git a/ArmPlatformPkg/Bds/Bds.inf b/ArmPlatformPkg/Bds/Bds.inf index 2a6b07b4bb..a3efb6f4ab 100644 --- a/ArmPlatformPkg/Bds/Bds.inf +++ b/ArmPlatformPkg/Bds/Bds.inf @@ -2,7 +2,7 @@ # # Component description file for Bds module # -# Copyright (c) 2011-2013, ARM Ltd. All rights reserved.
+# Copyright (c) 2011-2014, ARM Ltd. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -50,6 +50,7 @@ NetLib [Guids] + gEfiEndOfDxeEventGroupGuid gEfiFileSystemInfoGuid gArmGlobalVariableGuid -- cgit v1.2.3