diff options
author | Olivier Martin <olivier.martin@arm.com> | 2014-08-01 18:35:29 +0000 |
---|---|---|
committer | oliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-08-01 18:35:29 +0000 |
commit | ae19003981f8d9c11a14a48f4f0e511eab5bb995 (patch) | |
tree | 8dd88cb4b648d66c213abbca3bf8e26053936e2b /ArmPlatformPkg | |
parent | 90152e593bf0f77c6cd01e08118e3c74dd8ee508 (diff) | |
download | edk2-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.c | 37 | ||||
-rw-r--r-- | ArmPlatformPkg/Bds/Bds.inf | 3 |
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
|