Hi Linus, please pull the parisc architecture updates for kernel 5.4 from: git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux.git parisc-5.4-1 Major changes: * Make the powerpc implementation to read elf files available as a public kexec interface so it can be re-used on other architectures (Sven) * Implement kexec on parisc (Sven) * Add kprobes on ftrace on parisc (Sven) * Fix kernel crash with HSC-PCI cards based on card-mode Dino * Add assembly implementations for memset, strlen, strcpy, strncpy and strcat * Some cleanups, documentation updates, warning fixes, ... Thanks, Helge ---------------------------------------------------------------- Helge Deller (8): parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat parisc: Add ALTERNATIVE_CODE() and ALT_COND_RUN_ON_QEMU parisc: speed up flush_tlb_all_local with qemu parisc: Avoid warning when loading hppb driver parisc: Convert eisa_enumerator to use pr_cont() parisc: Drop comments which are already in pci.h parisc: Save some bytes in dino driver parisc: Disable HP HSC-PCI Cards to prevent kernel crash Jeroen Roovers (1): parisc: Have git ignore generated real2.S and firmware.c Jisheng Zhang (1): kprobes/parisc: remove arch_kprobe_on_func_entry() Sven Schnelle (15): parisc/ftrace: Add ARCH_SUPPORTS_FTRACE_OPS support parisc/ftrace: Add KPROBES_ON_FTRACE parisc: Update feature list parisc: trigger die notifier chain in parisc_terminate() kexec: add KEXEC_ELF kexec_elf: change order of elf_*_to_cpu() functions kexec_elf: remove parsing of section headers kexec_elf: remove PURGATORY_STACK_SIZE kexec_elf: remove Elf_Rel macro kexec_elf: remove unused variable in kexec_elf_load() kexec_elf: support 32 bit ELF files parisc: add __pdc_cpu_rendezvous() parisc: add kexec syscall support parisc: wire up kexec_file_load syscall parisc: add support for kexec_file_load() syscall .../features/core/jump-labels/arch-support.txt | 2 +- .../debug/kprobes-on-ftrace/arch-support.txt | 2 +- arch/Kconfig | 3 + arch/parisc/Kconfig | 25 + arch/parisc/boot/compressed/.gitignore | 2 + arch/parisc/include/asm/alternative.h | 11 +- arch/parisc/include/asm/fixmap.h | 1 + arch/parisc/include/asm/ftrace.h | 1 + arch/parisc/include/asm/kexec.h | 37 ++ arch/parisc/include/asm/pdc.h | 1 + arch/parisc/include/asm/string.h | 15 + arch/parisc/kernel/Makefile | 2 + arch/parisc/kernel/alternative.c | 23 +- arch/parisc/kernel/entry.S | 99 ++++ arch/parisc/kernel/firmware.c | 13 + arch/parisc/kernel/ftrace.c | 64 ++- arch/parisc/kernel/kexec.c | 112 +++++ arch/parisc/kernel/kexec_file.c | 86 ++++ arch/parisc/kernel/kprobes.c | 4 - arch/parisc/kernel/pacache.S | 9 + arch/parisc/kernel/parisc_ksyms.c | 4 + arch/parisc/kernel/pci.c | 11 - arch/parisc/kernel/relocate_kernel.S | 149 ++++++ arch/parisc/kernel/smp.c | 1 + arch/parisc/kernel/syscalls/syscall.tbl | 3 +- arch/parisc/kernel/traps.c | 2 + arch/parisc/lib/Makefile | 4 +- arch/parisc/lib/memset.c | 91 ---- arch/parisc/lib/string.S | 136 +++++ arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/kexec_elf_64.c | 545 +-------------------- drivers/parisc/dino.c | 30 +- drivers/parisc/eisa_enumerator.c | 10 +- drivers/parisc/hppb.c | 11 +- include/linux/kexec.h | 23 + include/uapi/linux/kexec.h | 1 + kernel/Makefile | 1 + kernel/kexec_elf.c | 430 ++++++++++++++++ 38 files changed, 1289 insertions(+), 676 deletions(-) create mode 100644 arch/parisc/include/asm/kexec.h create mode 100644 arch/parisc/kernel/kexec.c create mode 100644 arch/parisc/kernel/kexec_file.c create mode 100644 arch/parisc/kernel/relocate_kernel.S delete mode 100644 arch/parisc/lib/memset.c create mode 100644 arch/parisc/lib/string.S create mode 100644 kernel/kexec_elf.c