}\r
\r
//\r
- // Find the largest SMRAM range between 1MB and 4GB that is at least 1MB in size\r
+ // Find the largest SMRAM range between 1MB and 4GB that is at least 256KB - 4K in size\r
//\r
mCurrentSmramRange = NULL;\r
- for (Index = 0, MaxSize = SIZE_1MB; Index < gSmmCorePrivate->SmramRangeCount; Index++) {\r
+ for (Index = 0, MaxSize = SIZE_256KB - EFI_PAGE_SIZE; Index < gSmmCorePrivate->SmramRangeCount; Index++) {\r
if (gSmmCorePrivate->SmramRanges[Index].CpuStart >= BASE_1MB) {\r
if ((gSmmCorePrivate->SmramRanges[Index].CpuStart + gSmmCorePrivate->SmramRanges[Index].PhysicalSize) <= BASE_4GB) {\r
if (gSmmCorePrivate->SmramRanges[Index].PhysicalSize >= MaxSize) {\r