[PATCH v3 0/4] kexec_file_load() for arm

From: Łukasz Stelmach
Date: Wed Sep 30 2020 - 14:39:27 EST


The following series of patches provides implementation of the
kexec_file_load() system call form the arm architecture. zImage and uImage
(legacy format) files are supported. Like on arm64, there is no
possibility of loading a new DTB and the currently loaded is reused.

Changes in v3:
- move the patchset to next-20200929
- drop the first patch: set malloc pool size for the decompressor
(replaced by adc5f70293760)
- use text_offset added in 83dfeedb6663e
- add text_offset and malloc_size to struct zimage_krnl_size
- add dependency on CONFIG_KEXEC_FILE in arch/arm/include/asm/kexec.h
to enable compilation without CONFIG_KEXEC
- add dependency on MMU in Kconfig

Changes in v2:
- add CONFIG_KEXEC_FILE_UIMAGE for optional uImage support
- MALLOC_SIZE as a define instead of a symbol
- DCSZ tag holds combined dynamic memory requirements (bss+stack+malloc)
- use union for a single tag structure
- copyright notice includes Russell King

Łukasz Stelmach (4):
arm: add image header definitions
arm: decompressor: define a new zImage tag
arm: Add kexec_image_info
arm: kexec_file: load zImage or uImage, initrd and dtb

arch/arm/Kconfig | 26 +++
arch/arm/boot/compressed/head.S | 3 +-
arch/arm/boot/compressed/vmlinux.lds.S | 22 +--
arch/arm/include/asm/image.h | 79 +++++++++
arch/arm/include/asm/kexec.h | 16 +-
arch/arm/kernel/Makefile | 5 +-
arch/arm/kernel/kexec_uimage.c | 80 ++++++++++
arch/arm/kernel/kexec_zimage.c | 197 +++++++++++++++++++++++
arch/arm/kernel/machine_kexec.c | 39 ++++-
arch/arm/kernel/machine_kexec_file.c | 211 +++++++++++++++++++++++++
10 files changed, 660 insertions(+), 18 deletions(-)
create mode 100644 arch/arm/include/asm/image.h
create mode 100644 arch/arm/kernel/kexec_uimage.c
create mode 100644 arch/arm/kernel/kexec_zimage.c
create mode 100644 arch/arm/kernel/machine_kexec_file.c

--
2.26.2