Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

LoongArch: Mask all interrupts during kexec/kdump

If the default state of the interrupt controllers in the first kernel
don't mask any interrupts, it may cause the second kernel to potentially
receive interrupts (which were previously allocated by the first kernel)
immediately after a CPU becomes online during its boot process. These
interrupts cannot be properly routed, leading to bad IRQ issues.

This patch calls machine_kexec_mask_interrupts() to mask all interrupts
during the kexec/kdump process.

Signed-off-by: Tianyang Zhang <zhangtianyang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>

+2
+2
arch/loongarch/kernel/machine_kexec.c
··· 237 237 #ifdef CONFIG_SMP 238 238 crash_smp_send_stop(); 239 239 #endif 240 + machine_kexec_mask_interrupts(); 240 241 cpumask_set_cpu(crashing_cpu, &cpus_in_crash); 241 242 242 243 pr_info("Starting crashdump kernel...\n"); ··· 275 274 276 275 /* We do not want to be bothered. */ 277 276 local_irq_disable(); 277 + machine_kexec_mask_interrupts(); 278 278 279 279 pr_notice("EFI boot flag: 0x%lx\n", efi_boot); 280 280 pr_notice("Command line addr: 0x%lx\n", cmdline_ptr);