Skip to content

Commit

Permalink
Add PMM field to *envcfg and mseccfg
Browse files Browse the repository at this point in the history
  • Loading branch information
aswaterman committed Dec 8, 2023
1 parent b0040f3 commit 00883b0
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 17 deletions.
4 changes: 4 additions & 0 deletions src/hypervisor.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
18 changes: 13 additions & 5 deletions src/images/bytefield/henvcfg.edn
Original file line number Diff line number Diff line change
Expand Up @@ -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 {}})
Expand All @@ -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})
Expand All @@ -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 {}})
----
----
12 changes: 8 additions & 4 deletions src/images/bytefield/menvcfgreg.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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})
Expand All @@ -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 {}})
----
----
10 changes: 7 additions & 3 deletions src/images/bytefield/mseccfg.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@
(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})
(draw-box "RLB" {:span 2})
(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 {}})
Expand Down
18 changes: 13 additions & 5 deletions src/images/bytefield/senvcfg.edn
Original file line number Diff line number Diff line change
Expand Up @@ -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 {}})
Expand All @@ -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 {}})

----
----
8 changes: 8 additions & 0 deletions src/machine.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.
Expand Down
4 changes: 4 additions & 0 deletions src/supervisor.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 00883b0

Please sign in to comment.