|
@@ -213,8 +213,9 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
|
|
if (!fdt_addr)
|
|
if (!fdt_addr)
|
|
pr_efi(sys_table, "Generating empty DTB\n");
|
|
pr_efi(sys_table, "Generating empty DTB\n");
|
|
|
|
|
|
- status = handle_cmdline_files(sys_table, image, cmdline_ptr,
|
|
|
|
- "initrd=", dram_base + SZ_512M,
|
|
|
|
|
|
+ status = handle_cmdline_files(sys_table, image, cmdline_ptr, "initrd=",
|
|
|
|
+ efi_get_max_initrd_addr(dram_base,
|
|
|
|
+ *image_addr),
|
|
(unsigned long *)&initrd_addr,
|
|
(unsigned long *)&initrd_addr,
|
|
(unsigned long *)&initrd_size);
|
|
(unsigned long *)&initrd_size);
|
|
if (status != EFI_SUCCESS)
|
|
if (status != EFI_SUCCESS)
|
|
@@ -224,7 +225,7 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
|
|
|
|
|
|
new_fdt_addr = fdt_addr;
|
|
new_fdt_addr = fdt_addr;
|
|
status = allocate_new_fdt_and_exit_boot(sys_table, handle,
|
|
status = allocate_new_fdt_and_exit_boot(sys_table, handle,
|
|
- &new_fdt_addr, dram_base + MAX_FDT_OFFSET,
|
|
|
|
|
|
+ &new_fdt_addr, efi_get_max_fdt_addr(dram_base),
|
|
initrd_addr, initrd_size, cmdline_ptr,
|
|
initrd_addr, initrd_size, cmdline_ptr,
|
|
fdt_addr, fdt_size);
|
|
fdt_addr, fdt_size);
|
|
|
|
|