Add more checks for Dxe Report status code library to access boot service.

Add measure to GPT boot table.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7846 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2009-03-10 07:54:11 +00:00
parent 9d3dae3911
commit 07d97279a3
4 changed files with 17 additions and 2 deletions

View File

@ -30,7 +30,7 @@ InternalGetReportStatusCode (
if (gRT->Hdr.Revision < 0x20000) {
return ((FRAMEWORK_EFI_RUNTIME_SERVICES*)gRT)->ReportStatusCode;
} else if (gBS != NULL) {
} else if (gBS != NULL && gBS->LocateProtocol != NULL) {
Status = gBS->LocateProtocol (&gEfiStatusCodeRuntimeProtocolGuid, NULL, (VOID**)&StatusCodeProtocol);
if (!EFI_ERROR (Status) && StatusCodeProtocol != NULL) {
return StatusCodeProtocol->ReportStatusCode;
@ -99,7 +99,7 @@ InternalReportStatusCodeEx (
ASSERT (!((ExtendedData == NULL) && (ExtendedDataSize != 0)));
ASSERT (!((ExtendedData != NULL) && (ExtendedDataSize == 0)));
if (gBS == NULL) {
if (gBS == NULL || gBS->AllocatePool == NULL || gBS->FreePool == NULL) {
return EFI_UNSUPPORTED;
}

View File

@ -146,6 +146,7 @@ BdsLibBootViaBootOption (
EFI_DEVICE_PATH_PROTOCOL *WorkingDevicePath;
EFI_ACPI_S3_SAVE_PROTOCOL *AcpiS3Save;
LIST_ENTRY TempBootLists;
EFI_SECURITY_ARCH_PROTOCOL *SecurityProtocol;
//
// Record the performance data for End of BDS
@ -241,6 +242,18 @@ BdsLibBootViaBootOption (
DevicePath = Option->DevicePath;
}
//
// Measure GPT Table by SAP protocol.
//
Status = gBS->LocateProtocol (
&gEfiSecurityArchProtocolGuid,
NULL,
&SecurityProtocol
);
if (!EFI_ERROR (Status)) {
Status = SecurityProtocol->FileAuthenticationState (SecurityProtocol, 0, DevicePath);
}
DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Booting %S\n", Option->Description));
Status = gBS->LoadImage (

View File

@ -108,6 +108,7 @@
gEfiConsoleControlProtocolGuid # PROTOCOL CONSUMES
gEfiOEMBadgingProtocolGuid # PROTOCOL CONSUMES
gEfiHiiFontProtocolGuid # PROTOCOL CONSUMES
gEfiSecurityArchProtocolGuid
[FeaturePcd.common]
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport

View File

@ -39,6 +39,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/UgaDraw.h>
#include <Protocol/HiiFont.h>
#include <Protocol/HiiImage.h>
#include <Protocol/Security.h>
#include <Guid/MemoryTypeInformation.h>
#include <Guid/FileInfo.h>