]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmLib/ArmV7Mmu: use 64-bit type for mapping region size
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 24 Nov 2015 07:48:06 +0000 (07:48 +0000)
committerabiesheuvel <abiesheuvel@Edk2>
Tue, 24 Nov 2015 07:48:06 +0000 (07:48 +0000)
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

ArmPkg/Library/ArmLib/ArmV7/ArmV7Mmu.c

index 2e39ce00fea6ce4de81c512e7cde4056a7f81a01..23d2e43beba00bbcf93ff8a098aa2995f01bc329 100644 (file)
@@ -148,7 +148,7 @@ FillTranslationTable (
   UINT32  *SectionEntry;\r
   UINT32  Attributes;\r
   UINT32  PhysicalBase;\r
-  UINT32  RemainLength;\r
+  UINT64  RemainLength;\r
 \r
   ASSERT(MemoryRegion->Length > 0);\r
 \r