diff options
author | Andrew Waterman <andrew@sifive.com> | 2023-12-08 01:57:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-08 01:57:23 -0800 |
commit | af51204bf438245ef78e9bd7c962a9fffbf4d0d9 (patch) | |
tree | 92f187a0d830911c0b4534c99b5dd0b188ce019d | |
parent | b0040f3c2f16cd2ed094949dafe92ed27e4be56d (diff) | |
download | riscv-isa-manual-af51204bf438245ef78e9bd7c962a9fffbf4d0d9.zip riscv-isa-manual-af51204bf438245ef78e9bd7c962a9fffbf4d0d9.tar.gz riscv-isa-manual-af51204bf438245ef78e9bd7c962a9fffbf4d0d9.tar.bz2 |
Add PMM field to *envcfg and mseccfg (#1170)
-rw-r--r-- | src/hypervisor.adoc | 4 | ||||
-rw-r--r-- | src/images/bytefield/henvcfg.edn | 18 | ||||
-rw-r--r-- | src/images/bytefield/menvcfgreg.adoc | 12 | ||||
-rw-r--r-- | src/images/bytefield/mseccfg.adoc | 10 | ||||
-rw-r--r-- | src/images/bytefield/senvcfg.edn | 18 | ||||
-rw-r--r-- | src/machine.adoc | 8 | ||||
-rw-r--r-- | src/supervisor.adoc | 4 |
7 files changed, 57 insertions, 17 deletions
diff --git a/src/hypervisor.adoc b/src/hypervisor.adoc index 124afca..ec92c98 100644 --- a/src/hypervisor.adoc +++ b/src/hypervisor.adoc @@ -624,6 +624,10 @@ The definitions of the CBCFE and CBIE fields will be furnished by the forthcoming Zicbom extension. Their allocations within `henvcfg` may change prior to the ratification of that extension. +The definition of the PMM field will be furnished by the forthcoming +Ssnpm extension. Its allocation within `henvcfg` may change prior to the +ratification of that extension. + When XLEN=32, `henvcfgh` is a 32-bit read/write register that aliases bits 63:32 of `henvcfg`. Register `henvcfgh` does not exist when diff --git a/src/images/bytefield/henvcfg.edn b/src/images/bytefield/henvcfg.edn index 812713c..92435e6 100644 --- a/src/images/bytefield/henvcfg.edn +++ b/src/images/bytefield/henvcfg.edn @@ -9,8 +9,12 @@ (draw-box "63" {:span 2 :borders {}}) (draw-box "62" {:span 2 :borders {}}) -(draw-box "61" {:span 9 :text-anchor "start" :borders {}}) -(draw-box "8" {:span 9 :text-anchor "end" :borders {}}) +(draw-box "61" {:span 4 :text-anchor "start" :borders {}}) +(draw-box "34" {:span 4 :text-anchor "end" :borders {}}) +(draw-box "33" {:span 2 :text-anchor "start" :borders {}}) +(draw-box "32" {:span 1 :text-anchor "end" :borders {}}) +(draw-box "31" {:span 4 :text-anchor "start" :borders {}}) +(draw-box "8" {:span 3 :text-anchor "end" :borders {}}) (draw-box "7" {:span 2 :borders {}}) (draw-box "6" {:span 2 :borders {}}) (draw-box "5" {:borders {}}) @@ -21,7 +25,9 @@ (draw-box "STCE" {:span 2}) (draw-box "PBMTE" {:font-size 22 :span 2}) -(draw-box (text "WPRI" {:font-size 24 :font-weight "bold"}) {:span 18}) +(draw-box (text "WPRI" {:font-size 24 :font-weight "bold"}) {:span 8}) +(draw-box "PMM" {:span 3}) +(draw-box (text "WPRI" {:font-size 24 :font-weight "bold"}) {:span 7}) (draw-box "CBZE" {:span 2}) (draw-box "CBCFE" {:span 2}) (draw-box "CBIE" {:span 2}) @@ -30,10 +36,12 @@ (draw-box "1" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) -(draw-box "54" {:span 18 :borders {}}) +(draw-box "28" {:span 8 :borders {}}) +(draw-box "2" {:span 3 :borders {}}) +(draw-box "24" {:span 7 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "2" {:span 2 :borders {}}) (draw-box "3" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) -----
\ No newline at end of file +---- diff --git a/src/images/bytefield/menvcfgreg.adoc b/src/images/bytefield/menvcfgreg.adoc index dc90900..74de88b 100644 --- a/src/images/bytefield/menvcfgreg.adoc +++ b/src/images/bytefield/menvcfgreg.adoc @@ -4,11 +4,13 @@ (def row-height 45) (def row-header-fn nil) (def boxes-per-row 32) -(draw-column-headers {:height 20 :font-size 18 :labels (reverse ["0" "" "1" "3" "4" "5" "6" "" "7" "" "8" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "61" "" "62" "" "63"])}) +(draw-column-headers {:height 20 :font-size 18 :labels (reverse ["0" "" "1" "3" "4" "5" "6" "" "7" "" "8" "" "" "" "" "" "31" "32" "" "33" "34" "" "" "" "" "" "" "61" "" "62" "" "63"])}) (draw-box "STCE" {:span 2}) (draw-box "PBMTE" {:span 2}) -(draw-box (text "WPRI" {:font-weight "bold"}) {:span 18}) +(draw-box (text "WPRI" {:font-weight "bold"}) {:span 8}) +(draw-box "PMM" {:span 3}) +(draw-box (text "WPRI" {:font-weight "bold"}) {:span 7}) (draw-box "CBZE" {:span 2}) (draw-box "CBCFE" {:span 2}) (draw-box "CBIE" {:span 2}) @@ -17,10 +19,12 @@ (draw-box "1" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) -(draw-box "54" {:span 18 :borders {}}) +(draw-box "28" {:span 8 :borders {}}) +(draw-box "2" {:span 3 :borders {}}) +(draw-box "24" {:span 7 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "2" {:span 2 :borders {}}) (draw-box "3" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) -----
\ No newline at end of file +---- diff --git a/src/images/bytefield/mseccfg.adoc b/src/images/bytefield/mseccfg.adoc index cdf4803..1c8cc35 100644 --- a/src/images/bytefield/mseccfg.adoc +++ b/src/images/bytefield/mseccfg.adoc @@ -4,9 +4,11 @@ (def row-height 45) (def row-header-fn nil) (def boxes-per-row 32) -(draw-column-headers {:height 20 :font-size 18 :labels (reverse ["" "0" "" "1" "" "2" "" "3" "" "7" "" "8" "" "" "9" "" "10" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "63"])}) +(draw-column-headers {:height 20 :font-size 18 :labels (reverse ["" "0" "" "1" "" "2" "" "3" "" "7" "" "8" "" "" "9" "" "10" "" "" "" "31" "32" "" "33" "34" "" "" "" "" "" "" "63"])}) -(draw-box (text "WPRI" {:font-weight "bold"}) {:span 16}) +(draw-box (text "WPRI" {:font-weight "bold"}) {:span 8}) +(draw-box "PMM" {:span 3}) +(draw-box (text "WPRI" {:font-weight "bold"}) {:span 5}) (draw-box "SSEED" {:span 3}) (draw-box "USEED" {:span 3}) (draw-box (text "WPRI" {:font-weight "bold"}) {:span 3}) @@ -14,7 +16,9 @@ (draw-box "MMWP" {:span 3}) (draw-box "MML" {:span 2}) -(draw-box "54" {:span 16 :borders {}}) +(draw-box "30" {:span 8 :borders {}}) +(draw-box "2" {:span 3 :borders {}}) +(draw-box "22" {:span 5 :borders {}}) (draw-box "1" {:span 3 :borders {}}) (draw-box "1" {:span 3 :borders {}}) (draw-box "5" {:span 3 :borders {}}) diff --git a/src/images/bytefield/senvcfg.edn b/src/images/bytefield/senvcfg.edn index 077541b..a60cfa6 100644 --- a/src/images/bytefield/senvcfg.edn +++ b/src/images/bytefield/senvcfg.edn @@ -7,8 +7,12 @@ (def right-margin 30) (def boxes-per-row 32) -(draw-box "SXLEN-1" {:span 11 :text-anchor "start" :borders {}}) -(draw-box "8" {:span 11 :text-anchor "end" :borders {}}) +(draw-box "SXLEN-1" {:span 5 :text-anchor "start" :borders {}}) +(draw-box "34" {:span 5 :text-anchor "end" :borders {}}) +(draw-box "33" {:span 2 :text-anchor "start" :borders {}}) +(draw-box "32" {:span 1 :text-anchor "end" :borders {}}) +(draw-box "31" {:span 5 :text-anchor "start" :borders {}}) +(draw-box "8" {:span 4 :text-anchor "end" :borders {}}) (draw-box "7" {:span 2 :borders {}}) (draw-box "6" {:span 2 :borders {}}) (draw-box "5" {:text-anchor "start" :borders {}}) @@ -17,18 +21,22 @@ (draw-box "1" {:text-anchor "end" :borders {}}) (draw-box "0" {:span 2 :borders {}}) -(draw-box (text "WPRI" {:font-weight "bold" :font-size 24}) {:span 22}) +(draw-box (text "WPRI" {:font-size 24 :font-weight "bold"}) {:span 10}) +(draw-box "PMM" {:span 3}) +(draw-box (text "WPRI" {:font-size 24 :font-weight "bold"}) {:span 9}) (draw-box "CBZE" {:span 2}) (draw-box "CBCFE" {:span 2}) (draw-box "CBIE" {:span 2}) (draw-box (text "WPRI" {:font-weight "bold" :font-size 24}) {:span 2}) (draw-box "FIOM" {:span 2}) -(draw-box "SXLEN-8" {:span 22 :borders {}}) +(draw-box "SXLEN-34" {:span 10 :borders {}}) +(draw-box "2" {:span 3 :borders {}}) +(draw-box "24" {:span 9 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) (draw-box "2" {:span 2 :borders {}}) (draw-box "3" {:span 2 :borders {}}) (draw-box "1" {:span 2 :borders {}}) -----
\ No newline at end of file +---- diff --git a/src/machine.adoc b/src/machine.adoc index b5e20a9..5713400 100644 --- a/src/machine.adoc +++ b/src/machine.adoc @@ -2039,6 +2039,10 @@ The definitions of the CBCFE and CBIE fields will be furnished by the forthcoming Zicbom extension. Their allocations within `menvcfg` may change prior to the ratification of that extension. +The definition of the PMM field will be furnished by the forthcoming +Smnpm extension. Its allocation within `menvcfg` may change prior to the +ratification of that extension. + When XLEN=32, `menvcfgh` is a 32-bit read/write register that aliases bits 63:32 of `menvcfg`. Register `menvcfgh` does not exist when XLEN=64. @@ -2063,6 +2067,10 @@ The definitions of the RLB, MMWP, and MML fields will be furnished by the forthcoming PMP-enhancement extension, Smepmp. Their allocations within `mseccfg` may change prior to the ratification of that extension. +The definition of the PMM field will be furnished by the forthcoming +Smmpm extension. Its allocation within `mseccfg` may change prior to the +ratification of that extension. + When XLEN=32 only, `mseccfgh` is a 32-bit read/write register that aliases bits 63:32 of `mseccfg`. Register `mseccfgh` does not exist when XLEN=64. diff --git a/src/supervisor.adoc b/src/supervisor.adoc index dac478e..8352639 100644 --- a/src/supervisor.adoc +++ b/src/supervisor.adoc @@ -657,6 +657,10 @@ The definitions of the CBCFE and CBIE fields will be furnished by the forthcoming Zicbom extension. Their allocations within `senvcfg` may change prior to the ratification of that extension. +The definition of the PMM field will be furnished by the forthcoming +Ssnpm extension. Its allocation within `senvcfg` may change prior to the +ratification of that extension. + [[satp]] ==== Supervisor Address Translation and Protection (`satp`) Register |