+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 <redacted>
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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel