paddr_t kernbase, paddr_t kernend)
{
/* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
- const struct bootmodule *mod = boot_module_find_by_kind(BOOTMOD_RAMDISK);
+ const struct bootmodule *mod = info->initrd_bootmodule;
const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
const paddr_t modsize = initrd_len + dtb_len;
info->dtb_paddr = modbase;
info->initrd_paddr = info->dtb_paddr + dtb_len;
- info->initrd_bootmodule = mod;
}
static paddr_t kernel_zimage_place(struct kernel_info *info)
printk("Loading kernel from boot module @ %"PRIpaddr"\n", start);
+ info->initrd_bootmodule = boot_module_find_by_kind(BOOTMOD_RAMDISK);
+ if ( info->initrd_bootmodule )
+ printk("Loading ramdisk from boot module @ %"PRIpaddr"\n",
+ info->initrd_bootmodule->start);
+
#ifdef CONFIG_ARM_64
rc = kernel_zimage64_probe(info, start, size);
if (rc < 0)