summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg
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 /ArmPlatformPkg
parent90152e593bf0f77c6cd01e08118e3c74dd8ee508 (diff)
downloadedk2-ae19003981f8d9c11a14a48f4f0e511eab5bb995.tar.gz
edk2-ae19003981f8d9c11a14a48f4f0e511eab5bb995.tar.bz2
edk2-ae19003981f8d9c11a14a48f4f0e511eab5bb995.zip
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
Diffstat (limited to 'ArmPlatformPkg')
-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