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>
This commit is contained in:

committed by
Paul Walmsley

parent
0c3ac28931
commit
a4c3733d32
@@ -34,8 +34,8 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
|
||||
int code = SEGV_MAPERR;
|
||||
vm_fault_t fault;
|
||||
|
||||
cause = regs->scause;
|
||||
addr = regs->sbadaddr;
|
||||
cause = regs->cause;
|
||||
addr = regs->badaddr;
|
||||
|
||||
tsk = current;
|
||||
mm = tsk->mm;
|
||||
@@ -53,7 +53,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
|
||||
goto vmalloc_fault;
|
||||
|
||||
/* Enable interrupts if they were enabled in the parent context. */
|
||||
if (likely(regs->sstatus & SR_SPIE))
|
||||
if (likely(regs->status & SR_PIE))
|
||||
local_irq_enable();
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user