Subject: Re: Memory map guidelines
To: Alstrup, Kurt <kurt.alstrup@intel.com>
From: Chris Gilbert <chris@buzzbee.freeserve.co.uk>
List: port-arm32
Date: 10/07/2000 01:10:05
Hi,

On Fri, 06 Oct 2000, Alstrup, Kurt wrote:
> I am about to do an attempt to port the NetBSD OS to an IXP1200 processor,
> which contains an SA-1100 compatiple CPU core.

Does it have no MMU then?

[snip stuff I don't know about]

>  - The footbridge co-processor maps the ROM (a flash device on CATS) to
> address 0 until first write (to what I'm not sure) whereafter the SDRAM
> will be visible on address 0. The IXP1200 does not have that capability, so
> can I put a ROM device at address 0 permanently and have the RAM at eg
> c000:0000 ?

Checking an arm ref book I have handy says that the 0 address contains an 
unconditional branch instruction to the relevant exeception handler, the 
exceptions and table look like:
Address		Exception vector
&00		Reset
&04		Undefined Instruction
&08		Software Interrupt
&0C		Abort (prefetch)
&10		Abort (data)
&14		Reserved
&18		IRQ
&1C		FIQ

You can probably find more details online from somewhere, or in the arm32 
code.  Hardest part maybe getting from the ROM exeception handlers into 
runtime RAM based ones.  But then perhaps you can cheat, and have in the rom 
exception code a look up of an address in RAM, and check if it's 0 (but then 
if the machine has just started up you don't know that the instruction will 
contain 0, but then if you can avoid doing any exceptions it might just work 
;)

Cheers,
Chris