[PATCH v4 00/10] Add generic support for kdump DT properties
From: Geert Uytterhoeven
Date: Wed Jul 14 2021 - 08:51:09 EST
Hi all,
This patch series adds generic support for parsing DT properties related
to crash dump kernels ("linux,elfcorehdr" and "linux,elfcorehdr" under
the "/chosen" node), makes use of it on arm64, arm32, and (partially)
riscv, and performs a few cleanups. It is an evolution of the
combination of [1] and [2].
The series consists of 5 parts:
1. Patches 1-2 prepare (the visibility of) variables used to hold
information retrieved from the DT properties.
2. Patches 3-5 add support to the FDT core for parsing the properties.
This can co-exist safely with architecture-specific parsing, until
the latter has been removed.
3. Patch 6 removes the non-standard handling of "linux,elfcorehdr" on
riscv.
I think this can be applied independently, as the non-standard
handling is in v5.13, but upstream riscv kdump support is still
incomplete.
4. Patches 7-9 convert arm64 to use the generic handling instead of
its own implementation.
5. Patch 10 adds support for kdump properties to arm32.
The corresponding patch for kexec-tools is "[PATCH] arm: kdump: Add
DT properties to crash dump kernel's DTB"[3], which is still valid.
Changes compared to the previous versions:
- Make elfcorehdr_{addr,size} always visible,
- Add variables for usable memory limitation,
- Use IS_ENABLED() instead of #ifdef (incl. initrd and arm64),
- Clarify what architecture-specific code is still responsible for,
- Add generic support for parsing linux,usable-memory-range,
- Remove custom linux,usable-memory-range parsing on arm64,
- Use generic handling on ARM.
This has been tested on arm32 and arm64, and compile-tested on riscv64.
Thanks for your comments!
[1] "[PATCH v3] ARM: Parse kdump DT properties"
https://lore.kernel.org/r/20210317113130.2554368-1-geert+renesas@xxxxxxxxx/
[2] "[PATCH 0/3] Add generic-support for linux,elfcorehdr and fix riscv"
https://lore.kernel.org/r/cover.1623780059.git.geert+renesas@xxxxxxxxx/
[3] "[PATCH] arm: kdump: Add DT properties to crash dump kernel's DTB"
https://lore.kernel.org/linux-arm-kernel/20200902154129.6358-1-geert+renesas@xxxxxxxxx/
Geert Uytterhoeven (10):
crash_dump: Make elfcorehdr_{addr,size} always visible
memblock: Add variables for usable memory limitation
of: fdt: Add generic support for parsing elf core headers property
of: fdt: Add generic support for parsing usable memory range property
of: fdt: Use IS_ENABLED(CONFIG_BLK_DEV_INITRD) instead of #ifdef
riscv: Remove non-standard linux,elfcorehdr handling
arm64: kdump: Remove custom linux,elfcorehdr parsing
arm64: kdump: Remove custom linux,usable-memory-range parsing
arm64: kdump: Use IS_ENABLED(CONFIG_CRASH_DUMP) instead of #ifdef
ARM: Parse kdump DT properties
Documentation/devicetree/bindings/chosen.txt | 12 ++--
.../arm/boot/compressed/fdt_check_mem_start.c | 48 ++++++++++++--
arch/arm/mm/init.c | 30 +++++++++
arch/arm64/mm/init.c | 63 +------------------
arch/riscv/mm/init.c | 20 ------
drivers/of/fdt.c | 63 ++++++++++++++++---
include/linux/crash_dump.h | 7 ++-
include/linux/memblock.h | 6 ++
mm/memblock.c | 2 +
9 files changed, 148 insertions(+), 103 deletions(-)
--
2.25.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds