[RFC PATCH 2/4] of: Add a common kexec FDT setup function

Thiago Jung Bauermann bauerman at linux.ibm.com
Tue Dec 22 16:48:14 EST 2020


Rob Herring <robh at kernel.org> writes:

> Both arm64 and powerpc do essentially the same FDT /chosen setup for
> kexec. We can simply combine everything each arch does. The differences
> are either omissions that arm64 should have or additional properties
> that will be ignored.
>
> 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.

I especially like the elfcorehdr property. It always bothered me that we
pass it on the kernel command line, since it's not something that could
or should be set by an admin.

> - Any existing "linux,usable-memory-range" is removed.
>
> Signed-off-by: Rob Herring <robh at kernel.org>
> ---
> This could be taken a step further and do the allocation of the new
> FDT. The difference is arm64 uses vmalloc and powerpc uses kmalloc. The
> arm64 version also retries with a bigger allocation. That seems
> unnecessary.
> ---
>  drivers/of/Makefile |   1 +
>  drivers/of/kexec.c  | 228 ++++++++++++++++++++++++++++++++++++++++++++
>  include/linux/of.h  |   5 +
>  3 files changed, 234 insertions(+)
>  create mode 100644 drivers/of/kexec.c

Reviewed-by: Thiago Jung Bauermann <bauerman at linux.ibm.com>

-- 
Thiago Jung Bauermann
IBM Linux Technology Center



More information about the linux-arm-kernel mailing list