Subject: Re: UVM bug
To: Neil A. Carson <neil@causality.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 05/26/1999 15:31:01
On Wed, 26 May 1999 15:32:48 -0700
"Neil A. Carson" <neil@causality.com> wrote:
> Hmm. So what's the way to reprogram something sitting in the top address
> of phys RAM? IBM wired an AMD 512KB flash part there in one of their
> more recent boards. Would it be safest to just pmap_kenter the page and
> do it within the kernel? I'd better look at the code and see if even
> _this_ will work...
Well...
On the hp300, physical RAM is always located at the end of the physical
address space. In the hp300 pmap_bootstrap(), the PTEs are frobbed manually
to map the last page of RAM VA == PA. This is used to provide a trampoline
page that code can execute from when both the MMU is enabled and disabled :-)
Now, actually, that I think about it, pmap_enter() _can_ handle the last page
of physical RAM... but you'll have to reserve the KVA space somewhere else,
and possibly have a device driver that provides a read/write or an ioctl
method of getting to that flash part, for user space, since the VM system
isn't going to be able to cope.
-- Jason R. Thorpe <thorpej@nas.nasa.gov>