Subject: Re: mmap'ing framebuffer memory in MI drivers...
To: Jason Thorpe <firstname.lastname@example.org>
From: Gordon W. Ross <email@example.com>
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 <firstname.lastname@example.org>
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..