Subject: BtNetBSD/arm32 begins to work
To: None <port-arm32@netbsd.org>
From: Reinoud Zandijk <imago@kabel065011.kabel.utwente.nl>
List: port-arm32
Date: 11/21/2000 02:46:03
Dear all,

well as you read in the subject my second attempt of BtNetBSD (as i
renamed it) works now in that it loads a kernel, switches off the MMU,
jumps into a flat memorymap and relocates the code.... as proof i let it
copy to the physical memory of the screen and it was soo good to see it
there at last i can tell you :))

y/day i gave up with my old attempt starting from the arm26 bootloader
BBBB for the results RiscOS reported from `OS_ReadMemMapEntries' just
didnt make sense !!! .... *grumbl* ... so i completely rewrote the code
from scratch and now, a 4 hours later it is nearly ready for switching on
a new L1 page table and jump into the entry point of the kernel start().

This means i am still somewhat away from booting a fully functional NetBSD
for i have to rewrite the major part of riscpc/rpc_machdep.c in the style
of footbridge/ebsa_machdep.c (and some other things like passing
configuration stuff etc) but i'll hope to have at least something working
tomorrow...

The completely section mapped L1 map is identical to the EBSA memory map
(well.. some tweaking !) so creating the code can be really straitforward
i hope :)) and the dirty hacks needed to relocate the kernel while running
it are thus past time.

I made the relocation mechanism independed of the RiscOS version (3.5+
though for it uses OS_Memory) and should work on at least ARM6/7 ... It
needs some study to get it also working on StrongARM's but i can peek a
bit at the code of the ARMLinux loader i guess.... (my loader is not based
on it)

Oh and it is written in BASIC like Ben's BBBB :)

Take care, Reinoud