Re: Booting Kernel on Amiga 3000
On Wed, 7 Sep 2022, Andreas Schwab wrote:
> On Sep 07 2022, Geert Uytterhoeven wrote:
>
> > So if the initrd is stored at the end of motherboard RAM:
> >
> > initrd: 0783283d - 08000000
> >
> > The code
> >
> > memcmp(data, BOOTCONFIG_MAGIC, BOOTCONFIG_MAGIC_LEN)
> >
> > works. When the initrd is stored at the end of WarpEngine RAM:
> >
> > initrd: 0f7f81c2 - 10000000
> >
> > it crashes, probably because it is not mapped.
> >
> > According to
> >
> > Initmem setup node 0 [mem 0x000000000a000000-0x000000000fffffff]
> >
> > the memory should be mapped, shouldn't it?
>
> But in the success case, the initrd is located _before_ the node 0
> region:
>
> [ 0.000000] Initmem setup node 0 [mem 0x0000000008000000-0x000000000fffffff]
> [ 0.000000] initrd: 0783283d - 08000000
>
So we see an ATC fault when reading from an address that's mapped but no
fault when the initrd is located in "unused" memory. I find that
surprising. Yet the fault address is initrd_end - BOOTCONFIG_MAGIC_LEN.
Anyway, it appears Geert is right and I was wrong about the memory chunk
at 0x7800000:0x800000 being the cause of the fault. But it does look like
the use of that chunk may have prevented the fault in the success case.
Reply to: