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")

> I'm curious why you want to get the VM subsystem involved in this
> process.  The VM subsystem manages the virtualization of main memory,
> hence the name.  [...]

> We've handled mmap()ing device memory forever without getting VM
> involved.

How have you managed that?  On most architectures - all I'm familiar
with, certainly - all memory accesses go through the VM hardware (well,
all do if any do), so if you want to mmap a device you have to
_somehow_ poke the VM hardware to set up the mapping.

I suppose you could have two pieces of code that jigger the underlying
hardware, one dealing with virtualizing main memory and one dealing
with mapping things other than virtual pages into a process's address
space, but they would have to share so much that I think it would be
pointless, brittle, and stupid to do so - and, not surprisingly, all
the OSes I know of do indeed make device mappings go through the
(software) VM subsystem.

NetBSD is no different, but that applies only to the NetBSD versions I
know; is bleeding-edge NetBSD different in this regard?

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML      
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index