loader/arm/mmu: Set first available va to KERNEL_LOAD_BASE

* The existing code set the first available pa and va to
  the end of the page dirctory.
* The arm mmu code was attempting to identity map (va==pa)
  the memory, but also wanted memory to be in kernel space.
  This allocation method isn't possible on all boards
  (including the pi)
* We're adjusting the dynamic ram to KERNEL_LOAD_BASE
  plus the max size of the kernel. (which is what most
  other platforms are doing)
This commit is contained in:
Alexander von Gluck IV
2015-03-13 16:25:03 -05:00
parent 93e5d9fa15
commit 401afabd40
+2 -2
View File
@@ -700,8 +700,8 @@ mmu_init(void)
sPageTableRegionEnd = (addr_t)sPageDirectory + 0x200000;
// Mark start for dynamic allocation
sNextPhysicalAddress =
sNextVirtualAddress = sPageTableRegionEnd;
sNextPhysicalAddress = sPageTableRegionEnd;
sNextVirtualAddress = KERNEL_LOAD_BASE + kMaxKernelSize;
// mark allocated ranges, so they don't get overwritten
insert_physical_allocated_range((addr_t)&_start, (addr_t)&_end - (addr_t)&_start);