This patch series adds support to access CSR using both CSR name and
CSR numbers.

Also, we should prefer accessing CSRs using their CSR numbers because:
1. It compiles fine with older toolchains.
2. We can use latest CSR names in #define macro names of CSR numbers
   as-per RISC-V spec. (e.g. sptbr => CSR_SATP, sbadaddr => CSR_STVAL, etc.)
3. We can access newly added CSRs even if toolchain does not recognize
   newly addes CSRs by name. (e.g. BSSTATUS, BSIE, SSIP, etc.)

The patchset can be found in riscv_csr_number_v1 branch of
https//github.com/avpatel/linux.git

Anup Patel (3):
  RISC-V: Add separate asm/encoding.h for spec related defines
  RISC-V: Add defines for CSR numbers
  RISC-V: Access CSRs using CSR numbers

 arch/riscv/include/asm/csr.h         |  67 +-----
 arch/riscv/include/asm/encoding.h    | 299 +++++++++++++++++++++++++++
 arch/riscv/include/asm/irqflags.h    |  10 +-
 arch/riscv/include/asm/mmu_context.h |   2 +-
 arch/riscv/kernel/entry.S            |  22 +-
 arch/riscv/kernel/head.S             |  12 +-
 arch/riscv/kernel/perf_event.c       |   4 +-
 arch/riscv/kernel/smp.c              |   2 +-
 arch/riscv/kernel/traps.c            |   6 +-
 arch/riscv/mm/fault.c                |   2 +-
 10 files changed, 338 insertions(+), 88 deletions(-)
 create mode 100644 arch/riscv/include/asm/encoding.h

--
2.17.1

Reply via email to