Merge branch 'next' into efi-next-merge
authorMatt Fleming <matt.fleming@intel.com>
Fri, 3 Oct 2014 21:15:56 +0000 (22:15 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 3 Oct 2014 21:15:56 +0000 (22:15 +0100)
Conflicts:
arch/x86/boot/compressed/eboot.c

1  2 
Documentation/kernel-parameters.txt
arch/arm64/kernel/efi.c
arch/x86/boot/compressed/eboot.c
arch/x86/include/asm/efi.h
drivers/firmware/efi/vars.c
drivers/rtc/rtc-efi.c

Simple merge
Simple merge
index de8eebd6f67c825b3f013f7bc20a228b807c181f,ed8e06c59a4cac4c1e12c0b0a7dfaebc7025e142..1acf605a646dd87830f22694991142415c6ff351
@@@ -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;
Simple merge
Simple merge
Simple merge