IntelFrameworkModulePkg: Put report status code after event was signaled per PI spec.

For PI spec vol3, 
"EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT   The event with GUID EFI_EVENT_LEGACY_BOOT_GUID was signaled."
"EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT The EFI_EVENT_GROUP_READY_TO_BOOT event was signaled."
However, in current code base, they are reported before events were signaled. 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17124 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
index 8120ef7..e51acd0 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
@@ -1,6 +1,6 @@
 /** @file

 

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

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

 

 This program and the accompanying materials

 are licensed and made available under the terms and conditions

@@ -1253,18 +1253,20 @@
   //

   EnableAllControllers (Private);

   if ((mBootMode == BOOT_LEGACY_OS) || (mBootMode == BOOT_UNCONVENTIONAL_DEVICE)) {

+

     //

-    // Report Status Code to indicate legacy boot event will be signalled

+    // Signal all the events that are waiting on EVT_SIGNAL_LEGACY_BOOT

+    //

+    EfiSignalEventLegacyBoot ();

+

+    //

+    // Report Status Code to indicate legacy boot event was signalled

     //

     REPORT_STATUS_CODE (

       EFI_PROGRESS_CODE,

       (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT)

       );

 

-    //

-    // Signal all the events that are waiting on EVT_SIGNAL_LEGACY_BOOT

-    //

-    EfiSignalEventLegacyBoot ();

     DEBUG ((EFI_D_INFO, "Legacy INT19 Boot...\n"));

 

     //

diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
index 33e2902..e02a710 100644
--- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
+++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
@@ -1,7 +1,7 @@
 /** @file

   BDS Lib functions which relate with create or process the boot option.

 

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

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

 This program and the accompanying materials

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

 which accompanies this distribution.  The full text of the license may be found at

@@ -2283,16 +2283,16 @@
   }

 

   //

-  // Report Status Code to indicate ReadyToBoot event will be signalled

-  //

-  REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT));

-

-  //

   // Signal the EVT_SIGNAL_READY_TO_BOOT event

   //

   EfiSignalEventReadyToBoot();

 

   //

+  // Report Status Code to indicate ReadyToBoot event was signalled

+  //

+  REPORT_STATUS_CODE (EFI_PROGRESS_CODE, (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT));

+

+  //

   // Expand USB Class or USB WWID device path node to be full device path of a USB

   // device in platform then load the boot file on this full device path and get the

   // image handle.