[PATCH] arm: Support initrd with address in boot alias region

Florian Fainelli f.fainelli at gmail.com
Tue Sep 29 13:21:35 EDT 2020


+Rob, Russell,

On 9/29/2020 12:54 AM, Matija Glavinic Pecotic wrote:
> If bootloader passes address of initrd in boot alias region, initrd
> will fail on memblock_is_region_memory as memblock with such address
> doesn't exist.
> 
> Issue was observed with kexec which passed initrd address in boot alias
> region, while bootloader will typically pass physical address. Commit
> fe7db7570379 ("of/fdt: Populate phys_initrd_start/phys_initrd_size from FDT")
> uncovered problem by removing virt_to_phys on the initrd physical
> address. __virt_to_phys on our platform coincidentally fixed address.
> 
> Fix by trying to correct address in case of invalid physical address.
> 
> Signed-off-by: Matija Glavinic Pecotic <matija.glavinic-pecotic.ext at nokia.com>

This should have a Fixes tag:

fe7db7570379 ("of/fdt: Populate phys_initrd_start/phys_initrd_size from 
FDT")

I am not familiar enough with how the identity map works, but it seems 
to do what you want it to.
-- 
Florian



More information about the linux-arm-kernel mailing list