tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Introducing non-RAM managed page ("device page")



On Wed, 16 Sep 2009, Masao Uebayashi wrote:

> > The VM subsystem does not fiddle with the MMU.  pmap does.  The VM 
> > subsystem just keeps track of how pages are used.  It's been this way 
> > since at least BSD 4.4.
> 
> And we don't have API to tell pmap(9) extra information how to map the region.
> Device pages are always mapped as non-cached now.  There're cases you want
> to map devices with cache enabled, or other configurations like
> "write-combining".
> 
> I think such configuration informations should be kept in UVM (== struct
> vm_page *), other than calling cdev_mmap() each time when it's mapped.  By
> making device pages as struct vm_page * and teach the generic uvm_fault()
> how to handle them, udv_fault() can go away in the long-run.

Well, you need to be a bit careful about that.  On some machines if you 
try to enable caching on anything other than RAM the machine will trap.

Eduardo


Home | Main Index | Thread Index | Old Index