Skip to content

Commit 189a846

Browse files
committed
fixed a slew of misplaced onlys
1 parent 9ef204a commit 189a846

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

chap-cheri-x86-64.tex

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ \subsection{Capability Mode}
248248
mode and operand size of individual instructions. We define a new
249249
\textbf{capability mode}. As with CHERI-RISC-V, this mode is enabled
250250
by setting the low bit of the \cflags{} field in \CIP{}. This mode is
251-
only valid in 64-bit mode. A far call or jump which uses a 32-bit
251+
valid only in 64-bit mode. A far call or jump which uses a 32-bit
252252
code segment along with a target code capability with this flag set
253253
will raise a General Protection Fault with the error code set to the
254254
target segment selector.
@@ -502,8 +502,8 @@ \subsubsection{Extending Existing Instructions to Support Capability Operands}
502502

503503
The existing \texttt{89} and \texttt{8B} opcodes would be extended
504504
to support capability operands via the capability operand prefix.
505-
Note that these instructions would only permit a general-purpose
506-
register as the source (\texttt{89}) or destination (\texttt{8B}).
505+
Note that these instructions would permit a general-purpose
506+
register only as the source (\texttt{89}) or destination (\texttt{8B}).
507507

508508
The \texttt{A1} and \texttt{A3} opcodes would not be extended to
509509
support capabilities.
@@ -513,7 +513,7 @@ \subsubsection{Extending Existing Instructions to Support Capability Operands}
513513
new opcodes (\texttt{0F 24} and \texttt{0F 25}) would be
514514
used. These opcodes would permit access to \CFS{}, \CGS{}, and
515515
\DDC{} in all privilege levels. Access to other additional
516-
capability registers would only be permitted in privilege level 0.
516+
capability registers would be permitted only in privilege level 0.
517517

518518
To support efficiently storing NULL pointers to memory, the \texttt{C7 /0}
519519
opcode would be extended to support capability operands via
@@ -531,7 +531,7 @@ \subsubsection{Extending Existing Instructions to Support Capability Operands}
531531

532532
The existing \texttt{0F C3} opcode would be extended to support
533533
capability operands via the capability operand prefix. Note that
534-
this would only support stores of general-purpose capability
534+
this would support only stores of general-purpose capability
535535
registers.
536536

537537
\insnnoref{MOVNTI} should default to integer operands in
@@ -556,7 +556,7 @@ \subsubsection{Extending Existing Instructions to Support Capability Operands}
556556
\item \insnnoref{CMOVC} would handle conditional loads and stores of
557557
capabilities. Existing opcodes for \insnnoref{CMOV} would be
558558
extended to support capability operands via the capability operand
559-
prefix. Note that this would only support moves to and from
559+
prefix. Note that this would support only moves to and from
560560
general-purpose capability registers.
561561

562562
\insnnoref{CMOV} should default to integer operands in
@@ -721,7 +721,7 @@ \subsection{Control-Flow Instructions}
721721
Absolute near branches would be extended to support capability operands.
722722
In 64-bit long mode, a capability operand prefix would select a
723723
capability operand size. In capability mode, absolute near branches would
724-
only support capability operands.
724+
support only capability operands.
725725
Absolute near branches which use an integer operand would set the offset of the
726726
\CIP{} capability while absolute near branches using a capability operand would
727727
load a new capability into \CIP{}.
@@ -1194,8 +1194,8 @@ \subsection{Capability Violation Faults}
11941194
offset adjustments from immediates or scaled indices. If the result
11951195
of offset adjustments made the capability unrepresentable, the
11961196
faulting capability would have its tag cleared.
1197-
\item Similar to the above, but ignore offset adjustments and only
1198-
provide the base capability value.
1197+
\item Similar to the above, but ignore offset adjustments and provide
1198+
only the base capability value.
11991199
\item Provide the virtual address from the faulting capability in
12001200
\CRTWO{} similar to PF\#. A debugger could examine the faulting
12011201
instruction's operands to determine which capability triggered the fault.
@@ -1204,7 +1204,7 @@ \subsection{Capability Violation Faults}
12041204
\end{enumerate}
12051205

12061206
Like Morello and CHERI-RISC-V, we recommend that CHERI-x86-64
1207-
only raise capability violation faults when a invalid memory access is
1207+
raise capability violation faults only when a invalid memory access is
12081208
performed such as an out-of-bounds access or access via an untagged
12091209
capability. Specifically, we recommend that instructions which modify
12101210
capabilities should not raise capability violation faults (for
@@ -1382,7 +1382,7 @@ \subsection{Page Tables}
13821382
addition, the virtual address of the memory access should be provided
13831383
in the \CRTWO{} register similar to other page-fault exceptions.
13841384

1385-
Note that the \texttt{CR} and \texttt{CW} bits only fault if the
1385+
Note that the \texttt{CR} and \texttt{CW} bits fault only if the
13861386
capability being read or written is tagged. Untagged capability
13871387
values can be read from or written to memory regardless of the
13881388
\texttt{CR} and \texttt{CW} permissions. In addition, if the
@@ -1422,7 +1422,7 @@ \subsection{Capability Mode}
14221422
by sealing. For example, a sentry capability could be used in either
14231423
plain 64-bit mode or capability mode. By storing the mode in
14241424
capability metadata protected by sealing, sealed code capabilities can
1425-
only be used in the intended mode. Also, while it may be less
1425+
be used only in the intended mode. Also, while it may be less
14261426
flexible to permit the stack alignment to be chosen orthogonally to the
14271427
default instruction encoding mode, it does not seem useful in
14281428
practice. Instead, capability mode is designed as a single knob to
@@ -1432,7 +1432,7 @@ \subsection{Additional Capability Registers as Operands}
14321432

14331433
We considered various options for using additional capability
14341434
registers such as \CGS{} as explicit operands in instructions rather
1435-
than as a separate bank of registers only accessed via
1435+
than as a separate bank of registers accessed only via
14361436
\insnnoref{MOV}. All of these approaches add complexity to
14371437
instruction decoding, but we do not anticipate frequent direct access
14381438
to additional capability registers beyond the use of the existing
@@ -1474,7 +1474,7 @@ \subsection{Access to Additional Capability Registers}
14741474

14751475
The \CFS{}, \CGS{}, and \DDC{} capability registers must be accessible
14761476
in all privilege levels. However, other additional capability
1477-
registers such as \KGS{} are only suitable for privilege level 0.
1477+
registers such as \KGS{} are suitable only for privilege level 0.
14781478
Currently the \textbf{0F 24} and \textbf{0F 25} instructions permit
14791479
access to a subset of registers in privilege levels other than 0.
14801480

@@ -1504,7 +1504,7 @@ \subsection{Far Branches and Capabilities}
15041504

15051505
Supporting far branches with capability operands would add additional
15061506
complexity. For example, far branches need to ensure that code
1507-
capability pointers which enable capability mode are only used with
1507+
capability pointers which enable capability mode are used only with
15081508
64-bit code segments. In-memory far capability pointers would also
15091509
have odd alignment requirements due to the 16-bit code selector being
15101510
adjacent to an aligned capability. Far branches are also little used

0 commit comments

Comments
 (0)