]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg PiSmmIpl: Fix the issue in LMFA feature
authorLiming Gao <liming.gao@intel.com>
Wed, 12 Apr 2017 08:34:13 +0000 (16:34 +0800)
committerLiming Gao <liming.gao@intel.com>
Tue, 25 Apr 2017 01:48:18 +0000 (09:48 +0800)
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>
MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c

index feb846ee9e0ef49dc92dd22b4d55bbe6d9f5550d..2601275ab85fce7a6179e382b2b1252915a9f6dc 100644 (file)
@@ -263,6 +263,7 @@ EFI_PHYSICAL_ADDRESS       mSmramCacheBase;
 UINT64                     mSmramCacheSize;\r
 \r
 EFI_SMM_COMMUNICATE_HEADER mCommunicateHeader;\r
+EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE    *mLMFAConfigurationTable = NULL;\r
 \r
 //\r
 // Table of Protocol notification and GUIDed Event notifications that the SMM IPL requires\r
@@ -841,7 +842,7 @@ GetPeCoffImageFixLoadingAssignedAddress(
  \r
    FixLoadingAddress = 0;\r
    Status = EFI_NOT_FOUND;\r
-   SmramBase = mCurrentSmramRange->CpuStart;\r
+   SmramBase = mLMFAConfigurationTable->SmramBase;\r
    //\r
    // Get PeHeader pointer\r
    //\r
@@ -1519,7 +1520,6 @@ SmmIplEntry (
   UINT64                          MaxSize;\r
   VOID                            *Registration;\r
   UINT64                          SmmCodeSize;\r
-  EFI_LOAD_FIXED_ADDRESS_CONFIGURATION_TABLE    *LMFAConfigurationTable;\r
   EFI_CPU_ARCH_PROTOCOL           *CpuArch;\r
   EFI_STATUS                      SetAttrStatus;\r
   EFI_SMRAM_DESCRIPTOR            *SmramRangeSmmDriver;\r
@@ -1623,14 +1623,14 @@ SmmIplEntry (
       //\r
       Status = EfiGetSystemConfigurationTable (\r
                 &gLoadFixedAddressConfigurationTableGuid,\r
-               (VOID **) &LMFAConfigurationTable\r
+               (VOID **) &mLMFAConfigurationTable\r
                );\r
-      if (!EFI_ERROR (Status) && LMFAConfigurationTable != NULL) {\r
-        LMFAConfigurationTable->SmramBase = mCurrentSmramRange->CpuStart;\r
+      if (!EFI_ERROR (Status) && mLMFAConfigurationTable != NULL) {\r
+        mLMFAConfigurationTable->SmramBase = mCurrentSmramRange->CpuStart;\r
         //\r
         // Print the SMRAM base\r
         //\r
-        DEBUG ((EFI_D_INFO, "LOADING MODULE FIXED INFO: TSEG BASE is %x. \n", LMFAConfigurationTable->SmramBase));\r
+        DEBUG ((EFI_D_INFO, "LOADING MODULE FIXED INFO: TSEG BASE is %x. \n", mLMFAConfigurationTable->SmramBase));\r
       }\r
 \r
       //\r