Re: [PATCH v18 03/11] of: Add a common kexec FDT setup function

From: Guenter Roeck
Date: Sun Feb 21 2021 - 20:33:28 EST


On Sat, Feb 13, 2021 at 08:10:41AM -0800, Lakshmi Ramasubramanian wrote:
> From: Rob Herring <robh@xxxxxxxxxx>
>
> Both arm64 and powerpc do essentially the same FDT /chosen setup for
> kexec. The differences are either omissions that arm64 should have
> or additional properties that will be ignored. The setup code can be
> combined and shared by both powerpc and arm64.
>
> The differences relative to the arm64 version:
> - If /chosen doesn't exist, it will be created (should never happen).
> - Any old dtb and initrd reserved memory will be released.
> - The new initrd and elfcorehdr are marked reserved.
> - "linux,booted-from-kexec" is set.
>
> The differences relative to the powerpc version:
> - "kaslr-seed" and "rng-seed" may be set.
> - "linux,elfcorehdr" is set.
> - Any existing "linux,usable-memory-range" is removed.
>
> Combine the code for setting up the /chosen node in the FDT and updating
> the memory reservation for kexec, for powerpc and arm64, in
> of_kexec_alloc_and_setup_fdt() and move it to "drivers/of/kexec.c".
>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> Signed-off-by: Lakshmi Ramasubramanian <nramas@xxxxxxxxxxxxxxxxxxx>

s390:allmodconfig:

drivers/of/kexec.c: In function 'of_kexec_alloc_and_setup_fdt':
drivers/of/kexec.c:378:10: error: 'const struct kimage' has no member named 'arch'
378 | image->arch.elf_load_addr,
| ^~
drivers/of/kexec.c:379:10: error: 'const struct kimage' has no member named 'arch'
379 | image->arch.elf_headers_sz);
| ^~
drivers/of/kexec.c:387:35: error: 'const struct kimage' has no member named 'arch'
387 | ret = fdt_add_mem_rsv(fdt, image->arch.elf_load_addr,
| ^~
drivers/of/kexec.c:388:16: error: 'const struct kimage' has no member named 'arch'
388 | image->arch.elf_headers_sz);
| ^~

Guenter