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

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Sun, 06 Jun 2010 12:12:49 -0000

#5193: [PATCH] openfirmware: Skip mappings to non-physical memory
---------------------------------+------------------------------------------
  Reporter:  andreasf            |       Owner:  axeld         
      Type:  bug                 |      Status:  reopened      
  Priority:  normal              |   Milestone:  R1            
 Component:  System/Boot Loader  |     Version:  R1/Development
Resolution:                      |    Keywords:                
  Platform:  PowerPC             |   Blockedby:                
     Patch:  1                   |    Blocking:  1048, 6129    
---------------------------------+------------------------------------------

Comment(by bonefish):

 Replying to [comment:13 andreasf]:
 > Ha! I've found a way to create areas for the non-RAM ranges, too!
 >
 > As heuristic I'm using the available memory size.

 That only works, when the physical memory is contiguous. The kernel args
 contain the actual physical memory ranges.

 > For the non-RAM areas a memory type of 0x10000000 is getting set, which
 is not supported yet. I'm just ignoring it for now.

 The PPC arch_vm_set_memory_type() can be implemented to just return B_OK
 (I believe there is no such mechanism as MTRRs for PPC) as soon as memory
 types are supported at the paging level (TODO's in
 `PPCVMTranslationMap::Map()` and friends; cf. the specs: "Storage Control
 Attributes" / WIMG bits).

 Note that you should retrieve the actual memory type from the mapped
 ranges and pass it to vm_map_physical_memory().

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

Other related posts: