On 02/08/2017 10:29 AM, Ard Biesheuvel wrote:
>> +       status = handle_cmdline_files(sys_table, image, cmdline_ptr,
>> +                                     "initrd=", dram_base + SZ_512M,
>> +                                     (unsigned long *)&initrd_addr,
>> +                                     (unsigned long *)&initrd_size);
>
> So I know this patch is almost three years old, but why is there a
> 512M limit on the initrd size?
>
How do you reckon this constitutes a limit?

handle_cmdline_files() calls efi_high_alloc() with that limit. I'm still trying to understand all the details myself, but apparently our firmware and initrd need to fit within the first 512MB because of dram_base + SZ_512M. When we change "dram_base + SZ_512M" to "~0", everything works.

--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

Reply via email to