|
|
Log in / Subscribe / Register

riscv: Add GENERIC_ENTRY & IRQ_STACKS support

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



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds