[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: