IntelFrameworkModulePkg/GenericBdsLib: update GenericBdsLib to report status code for OS Loader Load and OS Loader Start.

Signed-off-by: xdu2
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12211 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xdu2 2011-08-25 11:58:51 +00:00
parent eab90a61bd
commit 79b7a6a1ff
3 changed files with 19 additions and 3 deletions

View File

@ -450,6 +450,7 @@ BdsFindUsbDevice (
// could be installed for this USB device.
//
BdsLibConnectDevicePath (FullDevicePath);
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdProgressCodeOsLoaderLoad));
Status = gBS->LoadImage (
TRUE,
gImageHandle,
@ -483,6 +484,7 @@ BdsFindUsbDevice (
//
FullDevicePath = FileDevicePath (Handle, EFI_REMOVABLE_MEDIA_FILE_NAME);
if (FullDevicePath != NULL) {
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdProgressCodeOsLoaderLoad));
Status = gBS->LoadImage (
TRUE,
gImageHandle,
@ -753,6 +755,10 @@ BdsLibBootViaBootOption (
DEBUG_CODE_END();
//
// Report status code for OS Loader LoadImage.
//
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdProgressCodeOsLoaderLoad));
Status = gBS->LoadImage (
TRUE,
gImageHandle,
@ -781,6 +787,7 @@ BdsLibBootViaBootOption (
//
FilePath = FileDevicePath (Handle, EFI_REMOVABLE_MEDIA_FILE_NAME);
if (FilePath != NULL) {
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdProgressCodeOsLoaderLoad));
Status = gBS->LoadImage (
TRUE,
gImageHandle,
@ -832,6 +839,11 @@ BdsLibBootViaBootOption (
WriteBootToOsPerformanceData ();
);
//
// Report status code for OS Loader StartImage.
//
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdProgressCodeOsLoaderStart));
Status = gBS->StartImage (ImageHandle, ExitDataSize, ExitData);
DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Image Return Status = %r\n", Status));

View File

@ -5,7 +5,7 @@
# 2) BDS boot device connect interface;
# 3) BDS Misc interfaces for mainting boot variable, ouput string, etc.
#
# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2007 - 2011, 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
@ -68,6 +68,7 @@
TimerLib
DxeServicesLib
HiiLib
ReportStatusCodeLib
[Guids]
gEfiVT100PlusGuid ## CONSUMES ## GUID (The type of terminal)
@ -117,4 +118,6 @@
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile
gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderLoad
gEfiMdeModulePkgTokenSpaceGuid.PcdProgressCodeOsLoaderStart
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile

View File

@ -1,7 +1,7 @@
/** @file
BDS library definition, include the file and data structure
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2011, 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
@ -66,6 +66,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/TimerLib.h>
#include <Library/PcdLib.h>
#include <Library/DxeServicesLib.h>
#include <Library/ReportStatusCodeLib.h>
#if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME)
#if defined (MDE_CPU_EBC)