mirror of https://github.com/acidanthera/audk.git
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:
parent
9d3dae3911
commit
07d97279a3
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -108,6 +108,7 @@
|
|||
gEfiConsoleControlProtocolGuid # PROTOCOL CONSUMES
|
||||
gEfiOEMBadgingProtocolGuid # PROTOCOL CONSUMES
|
||||
gEfiHiiFontProtocolGuid # PROTOCOL CONSUMES
|
||||
gEfiSecurityArchProtocolGuid
|
||||
|
||||
[FeaturePcd.common]
|
||||
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue