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