aboutsummaryrefslogtreecommitdiff
path: root/src/supervisor.tex
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2018-07-12 21:18:55 -0700
committerAndrew Waterman <andrew@sifive.com>2018-07-12 21:18:55 -0700
commitd7ecab75d2274b6f869f55ea0fc177fa05c0ef15 (patch)
treeb3f83fbc9fcf8a151b50a94fad79a01eeb0e2758 /src/supervisor.tex
parent591ce7fdaccb0393667d9af1af30e956a505e104 (diff)
downloadriscv-isa-manual-d7ecab75d2274b6f869f55ea0fc177fa05c0ef15.zip
riscv-isa-manual-d7ecab75d2274b6f869f55ea0fc177fa05c0ef15.tar.gz
riscv-isa-manual-d7ecab75d2274b6f869f55ea0fc177fa05c0ef15.tar.bz2
Add commentary that we favor zero-extension unless SW demands otherwise
Diffstat (limited to 'src/supervisor.tex')
-rw-r--r--src/supervisor.tex10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/supervisor.tex b/src/supervisor.tex
index ca5502e..bd432a1 100644
--- a/src/supervisor.tex
+++ b/src/supervisor.tex
@@ -1302,6 +1302,16 @@ a page-fault exception will occur. The 27-bit VPN is translated into a
44-bit PPN via a three-level page table, while the 12-bit page offset
is untranslated.
+\begin{commentary}
+When mapping between narrower and wider addresses, RISC-V usually
+zero-extends a narrower address to a wider size. The mapping
+between 64-bit virtual addresses and the 39-bit usable address
+space of Sv39 is not based on zero-extension but instead follows an
+entrenched convention that allows an OS to use one or a few of the
+most-significant bits of a full-size (64-bit) virtual address to
+quickly distinguish user and supervisor address regions.
+\end{commentary}
+
\begin{figure*}[h!]
{\footnotesize
\begin{center}