From c4149528d4603656fbddb21b5cba821cac90cbdb Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Mon, 6 Jul 2015 16:53:37 +0000 Subject: 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 Reviewed-by: Ronald Cron git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17832 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c') 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 -- cgit v1.2.3