| From: |
| guoren-AT-kernel.org |
| To: |
| arnd-AT-arndb.de, guoren-AT-kernel.org, palmer-AT-rivosinc.com, tglx-AT-linutronix.de, peterz-AT-infradead.org, luto-AT-kernel.org |
| Subject: |
| [PATCH 0/3] riscv: Add GENERIC_ENTRY & IRQ_STACKS support |
| Date: |
| Sat, 03 Sep 2022 12:38:05 -0400 |
| Message-ID: |
| <20220903163808.1954131-1-guoren@kernel.org> |
| Cc: |
| linux-arch-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-riscv-AT-lists.infradead.org, Guo Ren <guoren-AT-linux.alibaba.com> |
| Archive-link: |
| Article |
From: Guo Ren <guoren@linux.alibaba.com>
The patches convert riscv to use the generic entry infrastructure from
kernel/entry/*. Add independent irq stacks (IRQ_STACKS) for percpu to
prevent kernel stack overflows. Add the HAVE_SOFTIRQ_ON_OWN_STACK
feature for the IRQ_STACKS config.
Guo Ren (3):
riscv: convert to generic entry
riscv: Support HAVE_IRQ_EXIT_ON_IRQ_STACK
riscv: Support HAVE_SOFTIRQ_ON_OWN_STACK
arch/riscv/Kconfig | 10 +
arch/riscv/include/asm/csr.h | 1 -
arch/riscv/include/asm/entry-common.h | 8 +
arch/riscv/include/asm/irq.h | 2 +
arch/riscv/include/asm/ptrace.h | 10 +-
arch/riscv/include/asm/stacktrace.h | 5 +
arch/riscv/include/asm/syscall.h | 5 +
arch/riscv/include/asm/thread_info.h | 15 +-
arch/riscv/include/asm/vmap_stack.h | 28 +++
arch/riscv/kernel/entry.S | 255 +++++---------------------
arch/riscv/kernel/irq.c | 74 ++++++++
arch/riscv/kernel/ptrace.c | 40 ----
arch/riscv/kernel/signal.c | 20 +-
arch/riscv/kernel/sys_riscv.c | 26 +++
arch/riscv/kernel/traps.c | 11 ++
arch/riscv/mm/fault.c | 12 +-
16 files changed, 241 insertions(+), 281 deletions(-)
create mode 100644 arch/riscv/include/asm/entry-common.h
create mode 100644 arch/riscv/include/asm/vmap_stack.h
--
2.36.1