summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Core/PiSmmCore
diff options
context:
space:
mode:
authorLiming Gao <liming.gao@intel.com>2017-04-12 16:34:13 +0800
committerLiming Gao <liming.gao@intel.com>2017-04-25 09:48:18 +0800
commitc2aeb66fff90e7326d095aed0876d1f67f94f75e (patch)
treead56eaf37028956813b2773fbf3cf4c177596994 /MdeModulePkg/Core/PiSmmCore
parent1a5ae661754625b8f4bba39214006e87216747e9 (diff)
downloadedk2-c2aeb66fff90e7326d095aed0876d1f67f94f75e.tar.gz
edk2-c2aeb66fff90e7326d095aed0876d1f67f94f75e.tar.bz2
edk2-c2aeb66fff90e7326d095aed0876d1f67f94f75e.zip
MdeModulePkg PiSmmIpl: Fix the issue in LMFA feature
SmramBase should be got from mLMFAConfigurationTable. Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Core/PiSmmCore')
-rw-r--r--MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c
index feb846ee9e..2601275ab8 100644
--- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c
+++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c
@@ -263,6 +263,7 @@ EFI_PHYSICAL_ADDRESS mSmramCacheBase;
UINT64 mSmramCacheSize;
EFI_SMM_COMMUNICATE_HEADER mCommunicateHeader;
+EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE *mLMFAConfigurationTable = NULL;
//
// Table of Protocol notification and GUIDed Event notifications that the SMM IPL requires
@@ -841,7 +842,7 @@ GetPeCoffImageFixLoadingAssignedAddress(
FixLoadingAddress = 0;
Status = EFI_NOT_FOUND;
- SmramBase = mCurrentSmramRange->CpuStart;
+ SmramBase = mLMFAConfigurationTable->SmramBase;
//
// Get PeHeader pointer
//
@@ -1519,7 +1520,6 @@ SmmIplEntry (
UINT64 MaxSize;
VOID *Registration;
UINT64 SmmCodeSize;
- EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE *LMFAConfigurationTable;
EFI_CPU_ARCH_PROTOCOL *CpuArch;
EFI_STATUS SetAttrStatus;
EFI_SMRAM_DESCRIPTOR *SmramRangeSmmDriver;
@@ -1623,14 +1623,14 @@ SmmIplEntry (
//
Status = EfiGetSystemConfigurationTable (
&gLoadFixedAddressConfigurationTableGuid,
- (VOID **) &LMFAConfigurationTable
+ (VOID **) &mLMFAConfigurationTable
);
- if (!EFI_ERROR (Status) && LMFAConfigurationTable != NULL) {
- LMFAConfigurationTable->SmramBase = mCurrentSmramRange->CpuStart;
+ if (!EFI_ERROR (Status) && mLMFAConfigurationTable != NULL) {
+ mLMFAConfigurationTable->SmramBase = mCurrentSmramRange->CpuStart;
//
// Print the SMRAM base
//
- DEBUG ((EFI_D_INFO, "LOADING MODULE FIXED INFO: TSEG BASE is %x. \n", LMFAConfigurationTable->SmramBase));
+ DEBUG ((EFI_D_INFO, "LOADING MODULE FIXED INFO: TSEG BASE is %x. \n", mLMFAConfigurationTable->SmramBase));
}
//