From 741601413884531a2c5a1ccd684274ec2c619a9b Mon Sep 17 00:00:00 2001 From: Ravi Sahita Date: Mon, 4 Nov 2024 14:44:22 -0800 Subject: [PATCH 1/2] address feedback from allen baum on mailing list dated oct 29, 2024 Signed-off-by: Ravi Sahita --- chapter2.adoc | 2 +- chapter3.adoc | 9 +++++---- chapter4.adoc | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/chapter2.adoc b/chapter2.adoc index 13d2e9b..2ea7f45 100644 --- a/chapter2.adoc +++ b/chapter2.adoc @@ -5,7 +5,7 @@ The following normative architecture extensions are defined. * `Smsdid` (<>) - An interface to program the active supervisor domain under which a hart is operating. This is a dynamic control state on the hart -that can be held in an M-mode CSR and modifiable by the RDSM via CSR r/w +that is held in an M-mode CSR and modifiable by the RDSM via CSR r/w instructions - herewith called the `supervisor domain identifier` assigned to the hart. The SDID is a local identifier for the hart and may be used to tag hart-local resources to access-control data associated with the supervisor diff --git a/chapter3.adoc b/chapter3.adoc index 58770f8..b64a72b 100644 --- a/chapter3.adoc +++ b/chapter3.adoc @@ -109,7 +109,8 @@ addresses with RWX permissions per page Implementations are not required to support all defined `MODE` settings when `XLEN=64`. A write to `mmpt` with an unsupported `MODE` value is not ignored. -Instead, the fields of `mmpt` are `WARL` in the normal way, when so indicated. +Instead, the fields of `mmpt` are `WARL` in the normal way, when so indicated +in <> and <>. The `mmpt.PPN` refers to an `MPTL3` table or an `MPTL2` table based on physical address width (`PAW`). For 56 >= `PAW` > 46, `MPTL3` table must be of size @@ -196,9 +197,9 @@ domain access-permissions with current execution. `MFENCE.SPA` is only valid in M-mode. If operand rs1≠x0, it specifies a single physical address, and if rs2≠x0, it specifies a single SDID. -If rs1 corresponds to an `MPT_L1_DIR` mapping, the fence applies to -a 4 KiB page. If rs1 corresponds to a `2M_PAGES` or `4M_PAGES` mapping, -the fence applies to a 2 MiB or 4 MiB range. If rs1 corresponds to one +If the contents of rs1 corresponds to an `MPT_L1_DIR` mapping, the fence applies to +a 4 KiB page. If the contents of rs1 corresponds to a `2M_PAGES` or `4M_PAGES` mapping, +the fence applies to a 2 MiB or 4 MiB range. If the contents of rs1 corresponds to one of the 1G_* mappings, the fence applies to a 1 GiB range. The behavior of `MFENCE.SPA` depends on rs1 and rs2 as follows: diff --git a/chapter4.adoc b/chapter4.adoc index 8e5a29f..6f8ca97 100644 --- a/chapter4.adoc +++ b/chapter4.adoc @@ -41,7 +41,7 @@ address (SPA) is used to index into the `MPT` structure in memory to lookup access permissions for the supervisor domain specified via the MPT structures. Intermediate `MPTL3` and `MPTL2` non-leaf entries are used to allow this structure to be sparsely populated. The `MPTL3` table is not applicable for -physical address widths <= 46. +physical address widths \<= 46. [caption="Figure {counter:image}: ", reftext="Figure {image}"] [title= "`MPT` walk for RV64", id=mpt-map-rv64] From 5cac2275cf088aa348b6d1817a81c1db7b111dee Mon Sep 17 00:00:00 2001 From: Ravi Sahita Date: Mon, 4 Nov 2024 22:11:17 -0800 Subject: [PATCH 2/2] Apply suggestions from PR review Co-authored-by: Samuel Holland Signed-off-by: Ravi Sahita --- chapter3.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter3.adoc b/chapter3.adoc index b64a72b..8730fef 100644 --- a/chapter3.adoc +++ b/chapter3.adoc @@ -197,9 +197,9 @@ domain access-permissions with current execution. `MFENCE.SPA` is only valid in M-mode. If operand rs1≠x0, it specifies a single physical address, and if rs2≠x0, it specifies a single SDID. -If the contents of rs1 corresponds to an `MPT_L1_DIR` mapping, the fence applies to -a 4 KiB page. If the contents of rs1 corresponds to a `2M_PAGES` or `4M_PAGES` mapping, -the fence applies to a 2 MiB or 4 MiB range. If the contents of rs1 corresponds to one +If the address in rs1 corresponds to an `MPT_L1_DIR` mapping, the fence applies to +a 4 KiB page. If the address in rs1 corresponds to a `2M_PAGES` or `4M_PAGES` mapping, +the fence applies to a 2 MiB or 4 MiB range. If the address in rs1 corresponds to one of the 1G_* mappings, the fence applies to a 1 GiB range. The behavior of `MFENCE.SPA` depends on rs1 and rs2 as follows: