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

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Mon, 04 Jan 2010 16:44:16 -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          
--------------------------------+-------------------------------------------

Comment(by bonefish):

 I haven't looked into the code any further, but IIRC the "ranges to keep"
 have the sole purpose to allow OF calls when already in the kernel. I
 believe the whole concept -- or at least its current implementation -- is
 seriously flawed. The kernel address space starts at 2 GB, that is any
 mappings below that point cannot be preserved this way. Since OF usually
 identity maps the memory it uses, that means OF allocated memory will most
 likely not survive. ATM arch_vm_init_end() only creates memory-backed
 areas (which is the problem you're apparently running into), which means
 that mappings for memory mapped I/O can't be used either.

 So essentially the whole mechanism is useless ATM (which might also
 explain why I had problems with reset or shutdown via OF once the kernel
 had taken over). I would rather revert the patch and comment out the code
 adding the OF mappings to the "ranges to keep" for the time being. Until
 the mechanism is replaced/fixed that is.

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

Other related posts: