hi I am new to this list. Hope this is the right place to ask. I am working with a PPC405GP board, and as far as I understand, the support for ppc40x platforms like Acadia and Walnut were dropped with kernel 5.8.0, so this seems like a pretty straightforward question, but extensive experiments from kernel 4.11 to kernel 5.7.19 haven't shown a really clear, up-to-date answer.
In k4.11 .. k5.7.19, when the kernel size is bigger than 8 MB, the final kernel doesn't boot but rather arch/powerpc/boot/main.c dies before the first message from the kernel shows up. Why? Digging deeper I see the relation between the kernel size and link_addr # Round the size to next higher MB limit round_size=$(((strip_size + 0xfffff) & 0xfff00000)) round_size=0x$(printf "%x" $round_size) link_addr=$(printf "%d" $link_address) and this is where link_addr is involved text_start="-Ttext $link_address" My kernels are compiled for cuboot, and the code that invokes "kentry" is entirely located in arch/powerpc/boot/main.c I instrumned that module, and this is what I see on the condole The following is the same kernel, compiled with the same .config, but with two link_addr values A) with link_addr=0x0080.0000 image loaded from 0x00800000 SP=0x03eb1b80 kernel_size = 7411084 bytes copying 256 bytes from kernel-image at 0x0080f000 to elfheader elf_info.loadsize = 0x00700e68 elf_info.memsize = 0x0074234c allocating 7611212 bytes for the new kernel copying ... from = 0x0081f000 to = 0x00000000 size = 7343720 flush_cache, 32Mbyte flushed cmdline: uboot bootargs overridden cmdline=[console=ttyS0,115200 root=/dev/sda2 rootfstype=ext2 rw init=/sbin/init ] Finalizing device tree... flat tree at 0xf23b80 ft_addr=0xf23b80 my tp1: success kernel booting .... (it boots) B) with link_addr=0x0080.0000 image loaded from 0x00900000 SP=0x03eb1b80 kernel_size = 7411084 copying 256 bytes from kernel-image at 0x0090f000 to elfheader elf_info.loadsize = 0x00700e68 elf_info.memsize = 0x0074234c allocating 7611212 bytes for the new kernel copying ... from = 0x0091f000 to = 0x00000000 size = 7343720 flush_cache, 32Mbyte flushed cmdline: uboot bootargs overridden cmdline=[console=ttyS0,115200 root=/dev/sda2 rootfstype=ext2 rw init=/sbin/init ] Finalizing device tree... flat tree at 0x1023b80 ft_addr=0x1023b80 my tp2: success my tp3: success invalidate_cache 0x00000000+0x02000000 my tp4: (point of no return) calling kentry()... kernel booting .... (it dies at this point, but without a debugger it's like watching something fall into a black hole) Any ideas? I am lost ... Carlo