diff options
author | Liming Gao <liming.gao@intel.com> | 2017-04-12 16:34:13 +0800 |
---|---|---|
committer | Guo Mang <mang.guo@intel.com> | 2017-07-12 11:24:26 +0800 |
commit | 4402158b5c9bcbf4e70378841e126bd9cf5bd5d6 (patch) | |
tree | 633cab53982112df566664df450b1f338432425a | |
parent | 65172a08ab202b757f8d418d8a03d4b874c09118 (diff) | |
download | edk2-platforms-4402158b5c9bcbf4e70378841e126bd9cf5bd5d6.tar.xz |
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>
(cherry picked from commit c2aeb66fff90e7326d095aed0876d1f67f94f75e)
-rw-r--r-- | Core/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Core/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/Core/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c index feb846ee9e..2601275ab8 100644 --- a/Core/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +++ b/Core/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));
}
//
|