Hi Liming Can we use SmmIsBufferOutsideSmmValid() in SmmMemLib? Then we can remove IsAddressValid() completely.
Thank you Yao Jiewen -----Original Message----- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Liming Gao Sent: Wednesday, December 16, 2015 6:18 PM To: edk2-devel@lists.01.org Subject: [edk2] [Patch 3/3] EdkCompatibilityPkg: Fix GCC error to avoid the duplicated global variables SmmBaseHelper uses the same name global variables to the one in SmmMemoryAllocateLib. Update SmmBaseHelper to use the specific one. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming....@intel.com> --- .../Compatibility/SmmBaseHelper/SmmBaseHelper.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.c b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.c index 1d16449..41010f4 100644 --- a/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.c +++ b/EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.c @@ -122,8 +122,8 @@ SPIN_LOCK mPFLock; UINT64 mPhyMask; VOID *mOriginalHandler; EFI_SMM_CPU_SAVE_STATE *mShadowSaveState; -EFI_SMRAM_DESCRIPTOR *mSmramRanges; -UINTN mSmramRangeCount; +EFI_SMRAM_DESCRIPTOR *mSmmBaseHelperSmramRanges; +UINTN mSmmBaseHelperSmramRangeCount; LIST_ENTRY mCallbackInfoListHead = INITIALIZE_LIST_HEAD_VARIABLE (mCallbackInfoListHead); @@ -760,9 +760,9 @@ IsAddressInSmram ( { UINTN Index; - for (Index = 0; Index < mSmramRangeCount; Index ++) { - if (((Buffer >= mSmramRanges[Index].CpuStart) && (Buffer < mSmramRanges[Index].CpuStart + mSmramRanges[Index].PhysicalSize)) || - ((mSmramRanges[Index].CpuStart >= Buffer) && (mSmramRanges[Index].CpuStart < Buffer + Length))) { + for (Index = 0; Index < mSmmBaseHelperSmramRangeCount; Index ++) { + if (((Buffer >= mSmmBaseHelperSmramRanges[Index].CpuStart) && (Buffer < mSmmBaseHelperSmramRanges[Index].CpuStart + mSmmBaseHelperSmramRanges[Index].PhysicalSize)) || + ((mSmmBaseHelperSmramRanges[Index].CpuStart >= Buffer) && + (mSmmBaseHelperSmramRanges[Index].CpuStart < Buffer + Length))) { return TRUE; } } @@ -1266,14 +1266,14 @@ SmmBaseHelperMain ( Status = gSmst->SmmAllocatePool ( EfiRuntimeServicesData, Size, - (VOID **)&mSmramRanges + (VOID **)&mSmmBaseHelperSmramRanges ); ASSERT_EFI_ERROR (Status); - Status = SmmAccess->GetCapabilities (SmmAccess, &Size, mSmramRanges); + Status = SmmAccess->GetCapabilities (SmmAccess, &Size, + mSmmBaseHelperSmramRanges); ASSERT_EFI_ERROR (Status); - mSmramRangeCount = Size / sizeof (EFI_SMRAM_DESCRIPTOR); + mSmmBaseHelperSmramRangeCount = Size / sizeof (EFI_SMRAM_DESCRIPTOR); // // Register SMM Ready To Lock Protocol notification -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel