Skip to content

Commit 66d1b58

Browse files
committed
Add XCHG to the list of instructions extended to support cap operands.
Explicitly note that NOP (0x90) needs to leave CAX unchanged.
1 parent fd446c8 commit 66d1b58

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

chap-cheri-x86-64.tex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,17 @@ \subsubsection{Extending Existing Instructions to Support Capability Operands}
622622
\insnnoref{CMPXCHG} should default to integer operands in
623623
capability mode.
624624

625+
\item \insnnoref{XCHGC} will also be required to support atomic
626+
operations on capabilities.
627+
628+
The opcodes \texttt{87} and \texttt{90 + rc} would be extended to
629+
support capability operands via the capability operand prefix.
630+
The specific opcode \texttt{90} would remain a single byte
631+
\insnnoref{NOP} which would not alter the value of \CAX{}.
632+
633+
\insnnoref{XCHG} should default to integer operands in capability
634+
mode.
635+
625636
\item It may also be desirable to support \insnnoref{XADDC}. For
626637
this instruction, only the integer portion of the second (source)
627638
operand would be added to the integer value of the first

0 commit comments

Comments
 (0)