On Wed, Oct 23, 2024 at 12:14 PM Usama Arif [off-list ref] wrote:
__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().
Reported-by: Breno Leitao <leitao@debian.org>
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Usama Arif <redacted>
Fixes: ac10be5cdbfa ("arm64: Use common of_kexec_alloc_and_setup_fdt()")
This looks fine, but what is the symptom without this compared to
before the above change? The original code in the referenced commit
above didn't remove the reservation at all. Unless the current code
does something worse, this is new functionality more than a fix (for
stable).
Rob