Subject: Re: [PATCH] Fixup for Amigas with memory at 0x200000
To: Ignatios Souvatzis <is@netbsd.org>
From: Aymeric Vincent <Aymeric.Vincent@labri.fr>
List: port-amiga
Date: 01/07/2003 22:11:19
Hi Ignatios,
Thanks for all your precisions on the DraCo.
Ignatios Souvatzis <is@netbsd.org> writes:
> No. No memory at all at zero, unless the AmigaOS MMU setup is still active,
> and then it's only virtual.
OK. No physical memory at zero.
> DraCo memory starts at 0x4000 0000, 0x4200 0000, 0x4400 0000, 0x4600 0000,
> with at least 4 MB in the first slot, and not more than 32 MB in each slot.
All right.
> a full 128 MB DraCO looks like this with NetBSD:
>
> memory segment 0 at 40000000 size 00200000
> memory segment 1 at 40200000 size 07e00000
>
> (memory split by the bootloader to be able to copy the kernel to the start of
> a virtual segment.)
The memory is split just to avoid overwiting the AmigaOS' MMU tables,
right?
But anyway, if the DraCo is the only Amiga with no memory around PA
zero, I suggest we make a special case for it.
Its case is easier to handle because 0x40000000 is very far from 0,
and we can thus use the transparent translation registers to fake a
PA == VA segment where the kernel is (they only have a 16MB
granularity) just for the very few cycles when we enable the MMU.
I can write the code for that tomorrow if you think it's fine. I'm
very reluctant to put back the shadowing code we had which tampered
with the page tables.
Aymeric