use the kernel arguments when using -kernel-append (Aurelien Jarno)

git-svn-id: svn://coreboot.org/openbios/openbios-devel@404 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Laurent Vivier
2009-01-13 20:02:40 +00:00
parent 0bcf12f53b
commit f9a9554ba5

View File

@@ -364,18 +364,24 @@ yaboot_startup( void )
static void check_preloaded_kernel(void)
{
unsigned long kernel_image, kernel_size, cmdline;
unsigned long kernel_image, kernel_size;
unsigned long initrd_image, initrd_size;
unsigned long cmdline, cmdline_len;
kernel_size = nvram_read_be32(0x3c);
if (kernel_size) {
kernel_image = nvram_read_be32(0x38);
cmdline = nvram_read_be32(0x40);
cmdline_len = nvram_read_be32(0x44);
initrd_image = nvram_read_be32(0x48);
initrd_size = nvram_read_be32(0x4c);
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);
if (cmdline_len > 0) {
phandle_t ph = find_dev("/chosen");
set_property(ph, "bootargs", strdup((char *)cmdline), cmdline_len + 1);
}
call_elf(initrd_image, initrd_size, kernel_image);
}
}