summaryrefslogtreecommitdiff
path: root/Vlv2TbltDevicePkg/PlatformInitPei
diff options
context:
space:
mode:
Diffstat (limited to 'Vlv2TbltDevicePkg/PlatformInitPei')
-rw-r--r--Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c15
-rw-r--r--Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.h3
-rw-r--r--Vlv2TbltDevicePkg/PlatformInitPei/PlatformInitPei.inf3
3 files changed, 18 insertions, 3 deletions
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.<BR>
+ Copyright (c) 2004 - 2016, 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 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.<BR>
+ Copyright (c) 2004 - 2016, 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 that accompanies this distribution.
@@ -83,6 +83,7 @@ Abstract:
#include <Ppi/MasterBootMode.h>
#include <Guid/PlatformCpuInfo.h>
#include <Guid/OsSelection.h>
+#include <Guid/SmramMemoryReserve.h>
#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