riscv: stack: Support HAVE_IRQ_EXIT_ON_IRQ_STACK
authorGuo Ren <guoren@linux.alibaba.com>
Wed, 14 Jun 2023 01:30:16 +0000 (21:30 -0400)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 22 Jun 2023 17:38:35 +0000 (10:38 -0700)
commit163e76cc6ef43b7a5e9b6e245a6d6667c9d9b4a7
treeea81cf90ee824bbf0e4aa9a061cb5a96a06eadaa
parentd5e45e810e0e08114035d31d88049544c038e6fc
riscv: stack: Support HAVE_IRQ_EXIT_ON_IRQ_STACK

Add independent irq stacks for percpu to prevent kernel stack overflows.
It is also compatible with VMAP_STACK by arch_alloc_vmap_stack.

Tested-by: Jisheng Zhang <jszhang@kernel.org>
Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Cc: Clément Léger <cleger@rivosinc.com>
Link: https://lore.kernel.org/r/20230614013018.2168426-2-guoren@kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig
arch/riscv/include/asm/irq_stack.h [new file with mode: 0644]
arch/riscv/include/asm/thread_info.h
arch/riscv/kernel/irq.c
arch/riscv/kernel/traps.c