Pass initrd parameters to preloaded Linux kernel like Yaboot does

git-svn-id: svn://coreboot.org/openbios/openbios-devel@349 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2009-01-04 19:25:41 +00:00
parent 2ed122296d
commit 9b865de74b
3 changed files with 10 additions and 7 deletions

View File

@@ -41,7 +41,7 @@ static void
transfer_control_to_elf( ulong elf_entry )
{
ELF_DPRINTF("Starting ELF boot loader\n");
call_elf( elf_entry );
call_elf( 0, 0, elf_entry );
fatal_error("call_elf returned unexpectedly\n");
}
@@ -302,9 +302,10 @@ static void check_preloaded_kernel(void)
cmdline = nvram_read_be32(0x40);
initrd_image = nvram_read_be32(0x48);
initrd_size = nvram_read_be32(0x4c);
printk("[ppc] Kernel already loaded (0x%8.8lx + 0x%8.8lx)\n",
kernel_image, kernel_size);
call_elf(kernel_image);
printk("[ppc] Kernel already loaded (0x%8.8lx + 0x%8.8lx) "
"(initrd 0x%8.8lx + 0x%8.8lx)\n",
kernel_image, kernel_size, initrd_image, initrd_size);
call_elf(initrd_image, initrd_size, kernel_image);
}
}