From: Matt Fleming Date: Fri, 3 Oct 2014 21:15:56 +0000 (+0100) Subject: Merge branch 'next' into efi-next-merge X-Git-Tag: firefly_0821_release~176^2~2978^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=75b128573b275d5a5a7210b98c4b8cb3b39c12e7;p=firefly-linux-kernel-4.4.55.git Merge branch 'next' into efi-next-merge Conflicts: arch/x86/boot/compressed/eboot.c --- 75b128573b275d5a5a7210b98c4b8cb3b39c12e7 diff --cc arch/x86/boot/compressed/eboot.c index de8eebd6f67c,ed8e06c59a4c..1acf605a646d --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c @@@ -538,8 -538,10 +550,10 @@@ static void setup_efi_pci(struct boot_p EFI_LOADER_DATA, size, (void **)&pci_handle); - if (status != EFI_SUCCESS) + if (status != EFI_SUCCESS) { + efi_printk(sys_table, "Failed to alloc mem for pci_handle\n"); - return status; + return; + } status = efi_call_early(locate_handle, EFI_LOCATE_BY_PROTOCOL, &pci_proto, @@@ -1105,20 -1109,19 +1119,24 @@@ struct boot_params *make_boot_params(st memset(sdt, 0, sizeof(*sdt)); - if (hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G) - initrd_addr_max = -1UL; - else - initrd_addr_max = hdr->initrd_addr_max; - + status = efi_parse_options(cmdline_ptr); + if (status != EFI_SUCCESS) + goto fail2; + status = handle_cmdline_files(sys_table, image, (char *)(unsigned long)hdr->cmd_line_ptr, - "initrd=", initrd_addr_max, + "initrd=", hdr->initrd_addr_max, &ramdisk_addr, &ramdisk_size); + + if (status != EFI_SUCCESS && + hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G) { + efi_printk(sys_table, "Trying to load files to higher address\n"); + status = handle_cmdline_files(sys_table, image, + (char *)(unsigned long)hdr->cmd_line_ptr, + "initrd=", -1UL, + &ramdisk_addr, &ramdisk_size); + } + if (status != EFI_SUCCESS) goto fail2; hdr->ramdisk_image = ramdisk_addr & 0xffffffff;