[haiku-bugs] Re: [Haiku] #11896: ARM: arch_mmu assumes RAM starts at 80000000

  • From: "pulkomandy" <trac@xxxxxxxxxxxx>
  • Date: Tue, 10 Mar 2015 20:11:09 -0000

#11896: ARM: arch_mmu assumes RAM starts at 80000000
------------------------------+--------------------------------------------
   Reporter:  kallisti5       |      Owner:  pdziepak
       Type:  bug             |     Status:  new
   Priority:  normal          |  Milestone:  Unscheduled
  Component:  System/Boot     |    Version:  R1/Development
  Loader                      |   Keywords:  ARM MMU pfoetchen mmu_man rpi2
 Resolution:                  |   Blocking:
 Blocked By:                  |   Platform:  arm
Has a Patch:  0               |
------------------------------+--------------------------------------------

Comment (by pulkomandy):

 I'm not sure about that, the mmu code was written to work with several
 different mappings and the beagleboard was the first time we had RAM at
 this address, which was a problem because the mmu code wouldn't handle it
 too well.

 Some details about the MMU mapping process:
 * We start with the MMU disabled. u-boot loads things at the relevant
 physical addresses
 * The bootloader setups an identity mapping, that is, relevant parts of
 the RAM (where the bootloader and kernel code are loaded, plus the
 bootloader stack, heap), and the IO devices are mapped so their virtual
 addresses matches their physical addresses
 * The MMU is enabled, since all the useful parts are identity mapped this
 is transparent and the bootloader code can continue to execute,
 * The kernel is remapped to it's final target (virtual addresses starting
 at 0x8000000, physical address unchanged), and its stack and a small part
 of its heap are mapped in that area as well.
 * The kernel is booted
 * The kernel MMU initialization removes the now useless identity mapping.

 So the 80000000 you are seeing is setup from the boot loader, and is not
 related to the RAM physical address in any way.

--
Ticket URL: <https://dev.haiku-os.org/ticket/11896#comment:1>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: