[haiku-bugs] [Haiku] #5193: [PATCH] openfirmware: Skip mappings to non-physical memory

  • From: "andreasf" <trac@xxxxxxxxxxxx>
  • Date: Sat, 02 Jan 2010 15:31:32 -0000

#5193: [PATCH] openfirmware: Skip mappings to non-physical memory
--------------------------------+-------------------------------------------
 Reporter:  andreasf            |       Owner:  axeld         
     Type:  bug                 |      Status:  new           
 Priority:  normal              |   Milestone:  R1            
Component:  System/Boot Loader  |     Version:  R1/Development
 Keywords:                      |   Blockedby:                
 Platform:  PowerPC             |    Blocking:  1048          
--------------------------------+-------------------------------------------
 {{{
 INIT: init VM semaphores
 PANIC: looking up page failed for pa 0x80800000
 }}}

 OpenBIOS sets up these identity mappings:
 {{{
 80800000 (0x   80000) -> 80800000
 80881000 (0x    1000) -> 80881000
 80a00000 (0x   10000) -> 80a00000
 90000000 (0x10000000) -> 90000000
 fe000000 (0x   10000) -> fe000000
 fec00000 (0x    1000) -> fec00000
 fee00000 (0x    1000) -> fee00000
 }}}

 The problem is that they are all outside of (here 512 MB) RAM area, so we
 won't get a {{{vm_page*}}} but the above panic from
 {{{vm_create_anonymous_area}}} later in the kernel.

 Don't add those ranges as to-keep, based on {{{is_physical_memory}}}.

 An alternative might be to skip them based on the mode supplied by
 OpenBIOS but I'm not familiar with its semantics yet.

 Not sure if this is the right way to fix. It does get us further a little.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5193>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: