Subject: Re: mmap'ing framebuffer memory in MI drivers...
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Gordon W. Ross <gwr@netbsd.org>
List: tech-kern
Date: 03/05/1999 00:44:43
Jason Thorpe writes:
> [...] devices aren't really "wired" memory. The pmap is allowed
> to forget those mappings at any time, as it sees fit.
>
> Say, for example, a process which has mapped the frame buffers is _swapped_
> out. The Alpha pmap will then free all of its page tables. You need to be
> able to reestablish the mapping for individual pages later, when that process
> runs again.
>
> -- Jason R. Thorpe <thorpej@nas.nasa.gov>
Actually, there are even more reasons than that.
The VM system is designed to be portable to H/W that
does NOT HAVE the ability to make "wired" mappings.
For example there are machines where the MMU is just
a "software-managed TLB" and the VM system is asked
repeatedly "what PA goes to this faulting VA?". The
old sun3 has an MMU which is basically a large TLB.
Keeping support for such H/W is good. One implication
is that the VM system must NEVER rely upon the pmap
layer "remembering" mappings - even "wired" ones if
they are in user space. But I digress..