[haiku-commits] haiku: hrev48898 - src/system/boot/arch/arm

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 13 Mar 2015 22:25:52 +0100 (CET)

hrev48898 adds 1 changeset to branch 'master'
old head: 93e5d9fa15488a96d30252b17d279c286b915209
new head: 401afabd40bf7e63b4b88b1bd9f23f8efc5d858b
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=401afabd40bf+%5E93e5d9fa1548

----------------------------------------------------------------------------

401afabd40bf: 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)

                          [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev48898
Commit:      401afabd40bf7e63b4b88b1bd9f23f8efc5d858b
URL:         http://cgit.haiku-os.org/haiku/commit/?id=401afabd40bf
Author:      Alexander von Gluck IV <kallisti5@xxxxxxxxxxx>
Date:        Thu Mar 12 12:27:05 2015 UTC

----------------------------------------------------------------------------

1 file changed, 2 insertions(+), 2 deletions(-)
src/system/boot/arch/arm/arch_mmu.cpp | 4 ++--

----------------------------------------------------------------------------

diff --git a/src/system/boot/arch/arm/arch_mmu.cpp 
b/src/system/boot/arch/arm/arch_mmu.cpp
index a00ce5b..9d6264b 100644
--- a/src/system/boot/arch/arm/arch_mmu.cpp
+++ b/src/system/boot/arch/arm/arch_mmu.cpp
@@ -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);


Other related posts:

  • » [haiku-commits] haiku: hrev48898 - src/system/boot/arch/arm - kallisti5