linux/arch/riscv
Sami Tolvanen 82982fdd51
riscv: Deduplicate IRQ stack switching
With CONFIG_IRQ_STACKS, we switch to a separate per-CPU IRQ stack
before calling handle_riscv_irq or __do_softirq. We currently
have duplicate inline assembly snippets for stack switching in
both code paths. Now that we can access per-CPU variables in
assembly, implement call_on_irq_stack in assembly, and use that
instead of redundant inline assembly.

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Guo Ren <guoren@kernel.org>
Link: https://lore.kernel.org/r/20230927224757.1154247-10-samitolvanen@google.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-10-27 14:43:06 -07:00
..
boot RISC-V Devicetrees for v6.6 Part 2 2023-08-21 21:47:55 -04:00
configs Kbuild updates for v6.6 2023-09-05 11:01:47 -07:00
errata Merge patch series "Add non-coherent DMA support for AX45MP" 2023-09-08 11:24:34 -07:00
include riscv: Deduplicate IRQ stack switching 2023-10-27 14:43:06 -07:00
kernel riscv: Deduplicate IRQ stack switching 2023-10-27 14:43:06 -07:00
kvm KVM/riscv changes for 6.6 2023-08-31 13:25:55 -04:00
lib riscv: uaccess: Return the number of bytes effectively not copied 2023-08-16 07:30:06 -07:00
mm Merge patch series "riscv: Introduce KASLR" 2023-09-08 11:25:13 -07:00
net bpf, riscv: use prog pack allocator in the BPF JIT 2023-09-06 06:26:07 -07:00
purgatory riscv/purgatory: Disable CFI 2023-08-23 14:16:40 -07:00
tools riscv: Check relocations at compile time 2023-04-19 07:46:32 -07:00
Kbuild kexec: rename ARCH_HAS_KEXEC_PURGATORY 2023-08-18 10:18:54 -07:00
Kconfig riscv: Kconfig: Select DMA_DIRECT_REMAP only if MMU is enabled 2023-09-08 11:25:26 -07:00
Kconfig.debug RISC-V: Remove EARLY_PRINTK support 2018-12-17 10:23:46 -08:00
Kconfig.errata riscv: Kconfig.errata: Add dependency for RISCV_SBI in ERRATA_ANDES config 2023-09-08 11:25:28 -07:00
Kconfig.socs RISC-V: make ARCH_THEAD preclude XIP_KERNEL 2023-07-05 22:21:23 +02:00
Makefile riscv: Require FRAME_POINTER for some configurations 2023-08-23 09:07:26 -07:00
Makefile.postlink riscv: Use --emit-relocs in order to move .rela.dyn in init 2023-04-19 07:46:33 -07:00