]> www.infradead.org Git - users/jedix/linux-maple.git/commit
kexec: Consolidate machine_kexec_mask_interrupts() implementation
authorEliav Farber <farbere@amazon.com>
Wed, 4 Dec 2024 14:20:02 +0000 (14:20 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 11 Dec 2024 19:32:34 +0000 (20:32 +0100)
commitbad6722e478f5b17a5ceb039dfb4c680cf2c0b48
tree1415c9f991a6a65e0dec4ac7fa5acee7fd18cb24
parent429f49ad361cd999ca221d8b562ae2552b7c3e2c
kexec: Consolidate machine_kexec_mask_interrupts() implementation

Consolidate the machine_kexec_mask_interrupts implementation into a common
function located in a new file: kernel/irq/kexec.c. This removes duplicate
implementations from architecture-specific files in arch/arm, arch/arm64,
arch/powerpc, and arch/riscv, reducing code duplication and improving
maintainability.

The new implementation retains architecture-specific behavior for
CONFIG_GENERIC_IRQ_KEXEC_CLEAR_VM_FORWARD, which was previously implemented
for ARM64. When enabled (currently for ARM64), it clears the active state
of interrupts forwarded to virtual machines (VMs) before handling other
interrupt masking operations.

Signed-off-by: Eliav Farber <farbere@amazon.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20241204142003.32859-2-farbere@amazon.com
arch/arm/kernel/machine_kexec.c
arch/arm64/Kconfig
arch/arm64/kernel/machine_kexec.c
arch/powerpc/include/asm/kexec.h
arch/powerpc/kexec/core.c
arch/powerpc/kexec/core_32.c
arch/riscv/kernel/machine_kexec.c
include/linux/irq.h
kernel/irq/Kconfig
kernel/irq/Makefile
kernel/irq/kexec.c [new file with mode: 0644]