Subject: Re: Netwinder progress.
To: Chris Gilbert <chris@paradox.demon.co.uk>
From: Matt Thomas <matt@3am-software.com>
List: port-arm32
Date: 04/19/2001 06:39:47
At 10:35 AM 4/19/2001 +0100, Chris Gilbert wrote:
>On Thursday 19 April 2001  8:10 am, Matt Thomas wrote:
> > With a little assistance, I now have the MMU enabled.  I can successfully
> > get into initrom.  however, once it starts using the newly setup L1 page
> > table, it never comes back.  This leads me to think that the new L1PT is
> > not correct.  But it seems to be initialized correctly as far as I can see.
> >
> > Anyone have any ideas?  [I've created a arch/netwinder so you can look at
> > sources.]
>
>Looking over the sources and judging by the following output, the kernel
>isn't actually at physical_start (0x0).  It looks like the kernel is actually
>at 0x0000c000.  Which means that when you switch pagetables you're not where
>you expect to be.

Yes it is.  The kernel start address is 0xf000c000.  I had to get that right
first to even get this far.  And the L1PT is mapped correctly.

>The old riscpc loader had to map in the physical memory in the first
>pagetables, then copy the kernel there.  However the kernel didn't overlap
>with where it was going, which may be more tricky.
>
>One trick to get it working would be to just chuck away the 0x0 to
>0xc000 area and make physical start = 0xc000 (updating physical_end of
>course, note that the boot loader for the other archs appears to pass in
>bt_memstart, which might actually handle this kind of thing)

My loader info is in 0x000

>You could be more cunning and allocate 0x0 as the kernel L1 page table :)

Actually, I use 0x8000 for my initial fake L1PT. :)

>Good to see some work on this though :)  Anyone know how easy it is to get
>hold of one of these boxes in the UK?

None.
--
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Cupertino, CA             Disclaimer: I avow all knowledge of this message