Revision: 14771
          http://sourceforge.net/p/edk2/code/14771
Author:   oliviermartin
Date:     2013-10-14 16:32:38 +0000 (Mon, 14 Oct 2013)
Log Message:
-----------
ArmPkg/CpuDxe: Fixed confusion in AArch64 Table descriptor types

Table Descriptor and Level-3 Block entry descriptors have the same
translation table type value (ie: 0x3).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c

Modified: trunk/edk2/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c
===================================================================
--- trunk/edk2/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c      2013-10-14 16:24:37 UTC 
(rev 14770)
+++ trunk/edk2/ArmPkg/Drivers/CpuDxe/AArch64/Mmu.c      2013-10-14 16:32:38 UTC 
(rev 14771)
@@ -265,7 +265,7 @@
   BlockEntry = (UINT64*)TT_GET_ENTRY_FOR_ADDRESS (TranslationTable, 
TableLevel, *BaseAddress);
   EntryType = *BlockEntry & TT_TYPE_MASK;
 
-  if (EntryType == TT_TYPE_TABLE_ENTRY) {
+  if ((TableLevel < 3) && (EntryType == TT_TYPE_TABLE_ENTRY)) {
     NextTranslationTable = (UINT64*)(*BlockEntry & 
TT_ADDRESS_MASK_DESCRIPTION_TABLE);
 
     // The entry is a page table, so we go to the next level

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to