aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2023-12-08 01:57:23 -0800
committerGitHub <noreply@github.com>2023-12-08 01:57:23 -0800
commitaf51204bf438245ef78e9bd7c962a9fffbf4d0d9 (patch)
tree92f187a0d830911c0b4534c99b5dd0b188ce019d
parentb0040f3c2f16cd2ed094949dafe92ed27e4be56d (diff)
downloadriscv-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.adoc4
-rw-r--r--src/images/bytefield/henvcfg.edn18
-rw-r--r--src/images/bytefield/menvcfgreg.adoc12
-rw-r--r--src/images/bytefield/mseccfg.adoc10
-rw-r--r--src/images/bytefield/senvcfg.edn18
-rw-r--r--src/machine.adoc8
-rw-r--r--src/supervisor.adoc4
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