Skip to content

Commit

Permalink
Specify ordering of privileged and non-standard extensions
Browse files Browse the repository at this point in the history
Closes #319
  • Loading branch information
aswaterman committed Dec 21, 2018
1 parent 944a885 commit 84a7edb
Showing 1 changed file with 45 additions and 16 deletions.
61 changes: 45 additions & 16 deletions src/naming.tex
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,36 @@ \section{Additional Standard Extension Names}
from other multi-letter extensions by an underscore, e.g.,
``RV32IMACZicsr\_Zifencei''.

\section{Supervisor-level Instruction-Set Extensions}

Standard supervisor-level instruction-set extensions are defined in Volume II,
but are named using ``S'' as a prefix, followed by an alphabetical name and an
optional version number. Supervisor-level extensions must be separated from
other multi-letter extensions by an underscore.

Standard supervisor-level extensions should be listed after standard
unprivileged extensions. If multiple supervisor-level extensions are listed,
they should be ordered alphabetically.

\section{Hypervisor-level Instruction-Set Extensions}

Standard hypervisor-level instruction-set extensions are named like
supervisor-level extensions, but beginning with the letter ``H'' instead of
the letter ``S''.

Standard hypervisor-level extensions should be listed after standard
lesser-privileged extensions. If multiple hypervisor-level extensions are
listed, they should be ordered alphabetically.

\section{Machine-level Instruction-Set Extensions}

Standard machine-level instruction-set extensions are prefixed with the three
letters ``Zxm''.

Standard machine-level extensions should be listed after standard
lesser-privileged extensions. If multiple machine-level extensions are listed,
they should be ordered alphabetically.

\section{Non-Standard Extension Names}

Non-standard extensions are named using a single ``X'' followed by an
Expand All @@ -104,15 +134,8 @@ \section{Non-Standard Extension Names}
by an underscore. For example, an ISA with non-standard extensions
Argle and Bargle may be named ``RV64IZifencei\_Xargle\_Xbargle''.

\section{Supervisor-level Instruction-Set Extensions}

Standard supervisor instruction-set extensions are defined in Volume II, but
are named using ``S'' as a prefix, followed by an
alphabetical name and an optional version number.
Non-standard extensions to the supervisor-level ISA are defined using
the ``SX'' prefix.
Supervisor extensions must be separated from other multi-letter extensions
by an underscore.
If multiple non-standard extensions are listed, they should be ordered
alphabetically.

\section{Subset Naming Convention}
Table~\ref{isanametable} summarizes the standardized extension names.
Expand All @@ -134,7 +157,8 @@ \section{Subset Naming Convention}
Control and Status Register Access & Zicsr \\
Instruction-Fetch Fence & Zifencei \\
\hline
General & G = IMAFDZicsr\_Zifencei \\
\multirow{2}{*}{General} & G = IMAFDZicsr\_Zifencei \\
& (equivalently, IMADZifencei) \\
\hline
\multicolumn{2}{|c|}{Standard Unprivileged Extensions}\\
\hline
Expand All @@ -151,19 +175,24 @@ \section{Subset Naming Convention}
Total Store Ordering & Ztso \\
\hline
\hline
\multicolumn{2}{|c|}{Non-Standard Unprivileged Extensions}\\
\multicolumn{2}{|c|}{Standard Supervisor-Level Extensions}\\
\hline
Supervisor-level extension ``def'' & Sdef \\
\hline
\hline
\multicolumn{2}{|c|}{Standard Hypervisor-Level Extensions}\\
\hline
Non-standard extension ``abc'' & Xabc \\
Hypervisor-level extension ``ghi'' & Hghi \\
\hline
\hline
\multicolumn{2}{|c|}{Standard Supervisor-Level ISA}\\
\multicolumn{2}{|c|}{Standard Machine-Level Extensions}\\
\hline
Supervisor extension ``def'' & Sdef \\
Machine-level extension ``jkl'' & Zxmjkl \\
\hline
\hline
\multicolumn{2}{|c|}{Non-Standard Supervisor-Level Extensions}\\
\multicolumn{2}{|c|}{Non-Standard Extensions}\\
\hline
Supervisor extension ``ghi'' & SXghi \\
Non-standard extension ``mno'' & Xmno \\
\hline
\end{tabular}
\caption{Standard ISA extension names. The table also defines the
Expand Down

0 comments on commit 84a7edb

Please sign in to comment.