summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Martin <olivier.martin@arm.com>2014-08-01 18:35:29 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2014-08-01 18:35:29 +0000
commitae19003981f8d9c11a14a48f4f0e511eab5bb995 (patch)
tree8dd88cb4b648d66c213abbca3bf8e26053936e2b
parent90152e593bf0f77c6cd01e08118e3c74dd8ee508 (diff)
downloadedk2-platforms-ae19003981f8d9c11a14a48f4f0e511eab5bb995.tar.xz
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
-rw-r--r--ArmPlatformPkg/Bds/Bds.c37
-rw-r--r--ArmPlatformPkg/Bds/Bds.inf3
2 files changed, 39 insertions, 1 deletions
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 <Protocol/Bds.h>
+#include <Guid/EventGroup.h>
+
#define EFI_SET_TIMER_TO_SECOND 10000000
STATIC
@@ -418,6 +420,25 @@ StartDefaultBootOnTimeout (
}
/**
+ 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
also optionally make the use of user input to determine the operating system
@@ -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.<BR>
+# Copyright (c) 2011-2014, ARM Ltd. All rights reserved.<BR>
#
# 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