of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify
[ Upstream commit b2473a359763e27567993e7d8f37de82f57a0829 ] __pa() is only intended to be used for linear map addresses and using it for initial_boot_params which is in fixmap for arm64 will give an incorrect value. Hence save the physical address when it is known at boot time when calling early_init_dt_scan for arm64 and use it at kexec time instead of converting the virtual address using __pa(). Note that arm64 doesn't need the FDT region reserved in the DT as the kernel explicitly reserves the passed in FDT. Therefore, only a debug warning is fixed with this change. Reported-by:Breno Leitao <leitao@debian.org> Suggested-by:
Mark Rutland <mark.rutland@arm.com> Signed-off-by:
Usama Arif <usamaarif642@gmail.com> Fixes: ac10be5c ("arm64: Use common of_kexec_alloc_and_setup_fdt()") Link: https://lore.kernel.org/r/20241023171426.452688-1-usamaarif642@gmail.com Signed-off-by:
Rob Herring (Arm) <robh@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org>
parent
dfdd0e8f
No related branches found
No related tags found
Showing
- arch/arc/kernel/devtree.c 1 addition, 1 deletionarch/arc/kernel/devtree.c
- arch/arm/kernel/devtree.c 1 addition, 1 deletionarch/arm/kernel/devtree.c
- arch/arm64/kernel/setup.c 5 additions, 1 deletionarch/arm64/kernel/setup.c
- arch/csky/kernel/setup.c 2 additions, 2 deletionsarch/csky/kernel/setup.c
- arch/loongarch/kernel/setup.c 1 addition, 1 deletionarch/loongarch/kernel/setup.c
- arch/microblaze/kernel/prom.c 1 addition, 1 deletionarch/microblaze/kernel/prom.c
- arch/mips/kernel/prom.c 1 addition, 1 deletionarch/mips/kernel/prom.c
- arch/mips/kernel/relocate.c 1 addition, 1 deletionarch/mips/kernel/relocate.c
- arch/nios2/kernel/prom.c 2 additions, 2 deletionsarch/nios2/kernel/prom.c
- arch/openrisc/kernel/prom.c 1 addition, 1 deletionarch/openrisc/kernel/prom.c
- arch/powerpc/kernel/dt_cpu_ftrs.c 1 addition, 1 deletionarch/powerpc/kernel/dt_cpu_ftrs.c
- arch/powerpc/kernel/prom.c 1 addition, 1 deletionarch/powerpc/kernel/prom.c
- arch/powerpc/platforms/pseries/plpks.c 1 addition, 1 deletionarch/powerpc/platforms/pseries/plpks.c
- arch/riscv/kernel/setup.c 1 addition, 1 deletionarch/riscv/kernel/setup.c
- arch/sh/kernel/setup.c 1 addition, 1 deletionarch/sh/kernel/setup.c
- arch/um/kernel/dtb.c 1 addition, 1 deletionarch/um/kernel/dtb.c
- arch/x86/kernel/devicetree.c 1 addition, 1 deletionarch/x86/kernel/devicetree.c
- arch/xtensa/kernel/setup.c 1 addition, 1 deletionarch/xtensa/kernel/setup.c
- drivers/of/fdt.c 8 additions, 6 deletionsdrivers/of/fdt.c
- drivers/of/kexec.c 1 addition, 1 deletiondrivers/of/kexec.c
Loading
Please register or sign in to comment