Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct signs and explicitly clarify MTTL2 table sizes #53

Merged
merged 2 commits into from
Jul 2, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions chapter3.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,13 @@ Implementations are not required to support all defined `MODE` settings when
`XLEN=64`. A write to `mttp` with an unsupported `MODE` value is not ignored.
Instead, the fields of `mttp` are `WARL` in the normal way, when so indicated.

The `PPN` refers to an `MTTL3` table or an `MTTL2` table based on physical
address width (`PAW`). For 56 \<= `PAW` < 46, `MTTL3` table must be of size
The `MTTPPN` refers to an `MTTL3` table or an `MTTL2` table based on physical
address width (`PAW`). For 56 >= `PAW` > 46, `MTTL3` table must be of size
`2^(PAW-43)` bytes and naturally aligned to that sized byte boundary. For 46
\<= `PAW` < 32 the `MTTL2` table must be of size 2^(`PAW`-23) or 2^(`PAW`-22)
bytes (depending on the Smmtt `MODE` selected) and must be naturally aligned to
that sized byte boundary. In these modes, the lowest two bits of the physical
page number (`PPN`) in `mttp` always read as zeros.
>= `PAW` > 32 the `MTTL2` table must be of size 2^(`PAW`-23) bytes for `Smmtt46`
and `Smmtt34`, 2^(`PAW`-22) bytes for `Smmtt46rw` and `Smmtt34rw`, and must be
naturally aligned to that sized byte boundary. In these modes, the lowest two
bits of the physical page number (`MTTPPN`) in `mttp` always read as zeros.

The number of `SDID` bits is `UNSPECIFIED` and may be zero. The number of
implemented `SDID` bits, termed `SDIDLEN`, may be determined by writing one to
Expand Down
Loading