X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FAcpi%2FBootScriptExecutorDxe%2FScriptExecute.c;h=22d434914befa9c96700791af381fda4276ee1d2;hp=10493bea021bbb46f183a8d0700533dcabac5e69;hb=ab1a5a58c95937998f3ecf384a8940130511e234;hpb=800c02fbe2da64ca83540151fc75a431df25aae7 diff --git a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c index 10493bea02..22d434914b 100644 --- a/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c +++ b/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/ScriptExecute.c @@ -5,6 +5,7 @@ in the entry point. The functionality is to interpret and restore the S3 boot script Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2017, AMD Incorporated. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -23,6 +24,7 @@ EFI_GUID mBootScriptExecutorImageGuid = { }; BOOLEAN mPage1GSupport = FALSE; +UINT64 mAddressEncMask = 0; /** Entry function of Boot script exector. This function will be executed in @@ -322,7 +324,7 @@ ReadyToLockEventNotify ( ASSERT_EFI_ERROR (Status); ImageContext.ImageAddress = (PHYSICAL_ADDRESS)(UINTN)FfsBuffer; // - // Align buffer on section boundry + // Align buffer on section boundary // ImageContext.ImageAddress += ImageContext.SectionAlignment - 1; ImageContext.ImageAddress &= ~((EFI_PHYSICAL_ADDRESS)(ImageContext.SectionAlignment - 1)); @@ -407,6 +409,11 @@ BootScriptExecutorEntryPoint ( return EFI_UNSUPPORTED; } + // + // Make sure AddressEncMask is contained to smallest supported address field. + // + mAddressEncMask = PcdGet64 (PcdPteMemoryEncryptionAddressOrMask) & PAGING_1G_ADDRESS_MASK_64; + // // Test if the gEfiCallerIdGuid of this image is already installed. if not, the entry // point is loaded by DXE code which is the first time loaded. or else, it is already