ArmLib/ArmV7Mmu: use 64-bit type for mapping region size

The way the v7 MMU code is invoked by the Xen port is somewhat of
a pathological case, since it describes its physical memory space
using a single cacheable region that covers the entire addressable
range. When clipping this region to the part that is 1:1 addressable,
we end up with a region of exactly 4 GB in size, which just exceeds
the range of the UINT32 variable we use in FillTranslationTable() to
track our progress while populating the page tables. So promote it
to UINT64 instead.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18930 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ard Biesheuvel 2015-11-24 07:48:06 +00:00 committed by abiesheuvel
parent 1dc3f34f61
commit 2cde2696f5
1 changed files with 1 additions and 1 deletions

View File

@ -148,7 +148,7 @@ FillTranslationTable (
UINT32 *SectionEntry;
UINT32 Attributes;
UINT32 PhysicalBase;
UINT32 RemainLength;
UINT64 RemainLength;
ASSERT(MemoryRegion->Length > 0);