EmulatorPkg/PlatformBds: Signal EndOfDxe in platform BDS

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1079

Without signal of EndOfDxe, the 3rd party code (.efi from non-flash
storage) cannot run. It's forbidden by
8be37a5cee700777ca8e8e8a34cc2225b21931a7
*MdeModulePkg/SecurityStubDxe: Defer 3rd party image before EndOfDxe

The patch enables running of SCT from internal shell.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Cc: Andrew Fish <afish@apple.com>
diff --git a/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.c b/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.c
index 3580d36..75fba84 100644
--- a/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.c
+++ b/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.c
@@ -1,6 +1,6 @@
 /*++ @file

 

-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>

 Portions copyright (c) 2011, Apple Inc. All rights reserved.

 This program and the accompanying materials

 are licensed and made available under the terms and conditions of the BSD License

@@ -77,6 +77,8 @@
 **/

 {

   SetupVariableInit ();

+

+  EfiEventGroupSignal (&gEfiEndOfDxeEventGroupGuid);

 }

 

 EFI_STATUS

diff --git a/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.h b/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.h
index a099fec..5ececd4 100644
--- a/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.h
+++ b/EmulatorPkg/Library/EmuBdsLib/BdsPlatform.h
@@ -1,6 +1,6 @@
 /*++ @file

 

-Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>

 Portions copyright (c) 2011, Apple Inc. All rights reserved.

 This program and the accompanying materials

 are licensed and made available under the terms and conditions of the BSD License

@@ -18,6 +18,7 @@
 #include <PiDxe.h>

 

 #include <Guid/EmuSystemConfig.h>

+#include <Guid/EventGroup.h>

 #include <Protocol/EmuThunk.h>

 #include <Protocol/EmuIoThunk.h>

 #include <Protocol/EmuGraphicsWindow.h>

@@ -32,6 +33,7 @@
 #include <Library/GenericBdsLib.h>

 #include <Library/PlatformBdsLib.h>

 #include <Library/DevicePathLib.h>

+#include <Library/UefiLib.h>

 

 

 extern BDS_CONSOLE_CONNECT_ENTRY  gPlatformConsole[];

diff --git a/EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf b/EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf
index 526a159..755c50c 100644
--- a/EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf
+++ b/EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf
@@ -2,7 +2,7 @@
 # Platfrom BDS driver

 #

 # Do platform action customized by IBV/OEM.

-# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>

+# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>

 # Portions copyright (c) 2011, Apple Inc. All rights reserved.

 #

 #  This program and the accompanying materials

@@ -51,10 +51,11 @@
   PcdLib

   GenericBdsLib

   DevicePathLib

-

+  UefiLib

 

 [Guids]

   gEmuSystemConfigGuid

+  gEfiEndOfDxeEventGroupGuid

 

 [Pcd]

   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow