summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Martin <Olivier.Martin@arm.com>2015-07-06 16:53:37 +0000
committeroliviermartin <oliviermartin@Edk2>2015-07-06 16:53:37 +0000
commitc4149528d4603656fbddb21b5cba821cac90cbdb (patch)
tree05fc40738dcbc211217c4f320a46f6931c0c509d
parenta786522d956d26d67df811d9170cd90b99e40615 (diff)
downloadedk2-platforms-c4149528d4603656fbddb21b5cba821cac90cbdb.tar.xz
ArmPkg/CpuDxe: Fixed AArch64 MMU
When the function that determines the size of a contiguous region was returning from a sub-level table scanning it was forgetting to move to the next entry of its own level table. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17832 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c b/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c
index 6cba1218c6..d8bb419780 100644
--- a/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c
+++ b/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c
@@ -279,6 +279,9 @@ GetMemoryRegionRec (
if (!EFI_ERROR(Status)) {
return EFI_SUCCESS;
}
+
+ // Now we processed the table move to the next entry
+ BlockEntry++;
} else if (EntryType == BlockEntryType) {
// We have found the BlockEntry attached to the address. We save its start address (the start
// address might be before the 'BaseAdress') and attributes