riscv: abstract out CSR names for supervisor vs machine mode
Many of the privileged CSRs exist in a supervisor and machine version that are used very similarly. Provide versions of the CSR names and fields that map to either the S-mode or M-mode variant depending on a new CONFIG_RISCV_M_MODE kconfig symbol. Contains contributions from Damien Le Moal <Damien.LeMoal@wdc.com> and Paul Walmsley <paul.walmsley@sifive.com>. Signed-off-by:Christoph Hellwig <hch@lst.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> # for drivers/clocksource, drivers/irqchip [paul.walmsley@sifive.com: updated to apply] Signed-off-by:
Paul Walmsley <paul.walmsley@sifive.com>
Showing
- arch/riscv/Kconfig 4 additions, 0 deletionsarch/riscv/Kconfig
- arch/riscv/include/asm/csr.h 62 additions, 10 deletionsarch/riscv/include/asm/csr.h
- arch/riscv/include/asm/irqflags.h 6 additions, 6 deletionsarch/riscv/include/asm/irqflags.h
- arch/riscv/include/asm/processor.h 1 addition, 1 deletionarch/riscv/include/asm/processor.h
- arch/riscv/include/asm/ptrace.h 8 additions, 8 deletionsarch/riscv/include/asm/ptrace.h
- arch/riscv/include/asm/switch_to.h 5 additions, 5 deletionsarch/riscv/include/asm/switch_to.h
- arch/riscv/kernel/asm-offsets.c 4 additions, 4 deletionsarch/riscv/kernel/asm-offsets.c
- arch/riscv/kernel/entry.S 43 additions, 31 deletionsarch/riscv/kernel/entry.S
- arch/riscv/kernel/fpu.S 4 additions, 4 deletionsarch/riscv/kernel/fpu.S
- arch/riscv/kernel/head.S 6 additions, 6 deletionsarch/riscv/kernel/head.S
- arch/riscv/kernel/irq.c 5 additions, 12 deletionsarch/riscv/kernel/irq.c
- arch/riscv/kernel/perf_callchain.c 1 addition, 1 deletionarch/riscv/kernel/perf_callchain.c
- arch/riscv/kernel/process.c 9 additions, 8 deletionsarch/riscv/kernel/process.c
- arch/riscv/kernel/signal.c 10 additions, 11 deletionsarch/riscv/kernel/signal.c
- arch/riscv/kernel/smp.c 1 addition, 1 deletionarch/riscv/kernel/smp.c
- arch/riscv/kernel/traps.c 8 additions, 8 deletionsarch/riscv/kernel/traps.c
- arch/riscv/lib/uaccess.S 6 additions, 6 deletionsarch/riscv/lib/uaccess.S
- arch/riscv/mm/extable.c 2 additions, 2 deletionsarch/riscv/mm/extable.c
- arch/riscv/mm/fault.c 3 additions, 3 deletionsarch/riscv/mm/fault.c
- drivers/clocksource/timer-riscv.c 4 additions, 4 deletionsdrivers/clocksource/timer-riscv.c
Loading
Please register or sign in to comment