Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Commit

Permalink
add non-normative text with justification for 6 *ireg* CSRs
Browse files Browse the repository at this point in the history
  • Loading branch information
bcstrongx committed Sep 10, 2023
1 parent 471697d commit 0acd746
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions body.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@ read-only 0 state, or raise an illegal instruction exception._
_For RV32, if an extension defines an indirectly accessed register as 64 bits wide, it is recommended that the lower 32 bits of the register are accessed through one of mireg, mireg2, or mireg3, while the upper 32 bits are accessed through mireg4, mireg5, or mireg6, respectively._
====
[NOTE]
[%unbreakable]
====
_Six \*ireg* registers are defined in order to ensure that the needs of extensions in development are covered, with some room for growth. For example, for an siselect value associated with counter X, sireg/sireg2 could be used to access mhpmcounterX/mhpmeventX, while sireg4/sireg5 could access mhpmcounterXh/mhpmeventXh. Six \*ireg* registers allows for accessing up to 3 CSR arrays per index (*iselect) with RV32-only CSRs, or up to 6 CSR arrays per index value without RV32-only CSRs._
====


== Supervisor-level CSRs

Expand Down

0 comments on commit 0acd746

Please sign in to comment.