diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c index cbfe78dd89..f8ea09a438 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c +++ b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. @@ -820,6 +820,19 @@ PlatformEarlyInitEntry ( EFI_PLATFORM_INFO_HOB *PlatformInfo; EFI_PEI_HOB_POINTERS Hob; EFI_PLATFORM_CPU_INFO PlatformCpuInfo; + EFI_SMRAM_HOB_DESCRIPTOR_BLOCK *DescriptorBlock; + UINT64 Size; + + // + // Make sure last SMRAM region is aligned + // + Hob.Raw = GetFirstGuidHob (&gEfiSmmPeiSmramMemoryReserveGuid); + if (Hob.Raw != NULL) { + DescriptorBlock = GET_GUID_HOB_DATA (Hob.Raw); + Size = DescriptorBlock->Descriptor[DescriptorBlock->NumberOfSmmReservedRegions - 1].PhysicalSize; + Size = LShiftU64 (1, HighBitSet64 (Size - 1) + 1); + DescriptorBlock->Descriptor[DescriptorBlock->NumberOfSmmReservedRegions - 1].PhysicalSize = Size; + } // // Initialize SmbusPolicy PPI diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.h b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.h index c2cdfa3900..c280fb8c4d 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.h +++ b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.h @@ -1,6 +1,6 @@ /*++ - Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. @@ -83,6 +83,7 @@ Abstract: #include #include #include +#include #define SMC_LAN_ON 0x46 #define SMC_LAN_OFF 0x47 diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformInitPei.inf b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformInitPei.inf index fc517ef6f3..309487d854 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformInitPei.inf +++ b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformInitPei.inf @@ -1,6 +1,6 @@ # # -# Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved +# Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved # # This program and the accompanying materials are licensed and made available under # the terms and conditions of the BSD License that accompanies this distribution. @@ -102,6 +102,7 @@ ENTRY_POINT = PlatformEarlyInitEntry gEfiNormalSetupGuid gEfiMemoryTypeInformationGuid gOsSelectionVariableGuid + gEfiSmmPeiSmramMemoryReserveGuid [Pcd.common] gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase