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 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 (5): arm: decompressor: set malloc pool size for the decompressor 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 | 25 +++ arch/arm/boot/compressed/Makefile | 7 +- arch/arm/boot/compressed/head.S | 9 +- arch/arm/boot/compressed/vmlinux.lds.S | 22 +-- arch/arm/include/asm/image.h | 77 +++++++++ arch/arm/include/asm/kexec.h | 14 ++ arch/arm/kernel/Makefile | 5 +- arch/arm/kernel/kexec_uimage.c | 80 ++++++++++ arch/arm/kernel/kexec_zimage.c | 194 +++++++++++++++++++++++ arch/arm/kernel/machine_kexec.c | 39 ++++- arch/arm/kernel/machine_kexec_file.c | 211 +++++++++++++++++++++++++ 11 files changed, 662 insertions(+), 21 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