Subject: Re: Virtual Memory Mapping
To: Bruce Martin <brucem@cat.co.za>
From: None <mestery@visi.com>
List: port-arm32
Date: 02/15/1999 07:01:34
Hi,

On Mon, 15 Feb 1999, Bruce Martin wrote:

> I am currently writing a bootloader for the EBSA-285 board,
> containing a StrongARM processor. All is looking good,
> except that I need to map the 1st 4 megs of memory from
> 0x00000000 to 0xf0000000, with the rest of memory and the
> CSR's mapped 1:1 physical to virtual. I don't have any idea
> how to do this - I know I have to write the 1st and 2nd
> level tranlastion tables somehow, but I don't know where
> these reside in memory, and what to write to them. Any help
> would be greatly appreciated....
> 
Actually, you only need to write the 1st level translation table.
Basically what I did in writing the boot loader was to pick a spot in
memory to put the translation table, and then write a routine to set it
up to map the various areas as you need them.  So, for instance, my
table was setup to be at 0x00800000.  I then have a routine that runs
through a loop setting the various sections as RO, RW, ROM, etc.  I then
have a routine that enables the MMU pointing at the previous translation
table to use for translations.

--
Kyle Mestery
StorageTek's Storage Networking Group
Protect your right to privacy: www.freecrypto.org