Files
archived-ballistic/spec/arm64_xml/dvp_sys.xml
Ronald Caesar 26a677f8b4 decoder: Add ARM specification docs
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-12-12 18:11:36 -04:00

108 lines
4.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" encoding="UTF-8" href="iform.xsl" version="1.0"?>
<!DOCTYPE instructionsection PUBLIC "-//ARM//DTD instructionsection //EN" "iform-p.dtd">
<!-- Copyright (c) 2010-2022 Arm Limited or its affiliates. All rights reserved. -->
<!-- This document is Non-Confidential. This document may only be used and distributed in accordance with the terms of the agreement entered into by Arm and the party that Arm delivered this document to. -->
<instructionsection id="DVP_SYS" title="DVP -- A64" type="alias">
<docvars>
<docvar key="alias_mnemonic" value="DVP" />
<docvar key="instr-class" value="system" />
<docvar key="isa" value="A64" />
<docvar key="mnemonic" value="SYS" />
</docvars>
<heading>DVP</heading>
<desc>
<brief>
<para>Data Value Prediction Restriction by Context</para>
</brief>
<authored>
<para>Data Value Prediction Restriction by Context prevents data value predictions that predict execution addresses based on information gathered from earlier execution within a particular execution context. Data value predictions determined by the actions of code in the target execution context or contexts appearing in program order before the instruction cannot be used to exploitatively control speculative execution occurring after the instruction is complete and synchronized.</para>
<para>For more information, see <xref linkend="AArch64.dvp_rctx">DVP RCTX, Data Value Prediction Restriction by Context</xref>.</para>
</authored>
</desc>
<aliasto refiform="sys.xml" iformid="SYS">SYS</aliasto>
<classes>
<iclass name="System" oneof="1" id="iclass_system" no_encodings="1" isa="A64">
<docvars>
<docvar key="instr-class" value="system" />
<docvar key="isa" value="A64" />
<docvar key="mnemonic" value="SYS" />
</docvars>
<iclassintro count="1"></iclassintro>
<arch_variants>
<arch_variant name="ARMv8.5" feature="FEAT_SPECRES" />
</arch_variants>
<regdiagram form="32" psname="aarch64/instrs/system/sysops" tworows="1">
<box hibit="31" width="10" settings="10">
<c>1</c>
<c>1</c>
<c>0</c>
<c>1</c>
<c>0</c>
<c>1</c>
<c>0</c>
<c>1</c>
<c>0</c>
<c>0</c>
</box>
<box hibit="21" name="L" usename="1" settings="1" psbits="x">
<c>0</c>
</box>
<box hibit="20" width="2" name="op0" settings="2">
<c>0</c>
<c>1</c>
</box>
<box hibit="18" width="3" name="op1" usename="1" settings="3" psbits="xxx">
<c>0</c>
<c>1</c>
<c>1</c>
</box>
<box hibit="15" width="4" name="CRn" usename="1" settings="4" psbits="xxxx">
<c>0</c>
<c>1</c>
<c>1</c>
<c>1</c>
</box>
<box hibit="11" width="4" name="CRm" usename="1" settings="4" psbits="xxxx">
<c>0</c>
<c>0</c>
<c>1</c>
<c>1</c>
</box>
<box hibit="7" width="3" name="op2" usename="1" settings="3" psbits="xxx">
<c>1</c>
<c>0</c>
<c>1</c>
</box>
<box hibit="4" width="5" name="Rt" usename="1">
<c colspan="5"></c>
</box>
</regdiagram>
<encoding name="DVP_SYS_CR_systeminstrs" oneofinclass="1" oneof="1" label="">
<docvars>
<docvar key="alias_mnemonic" value="DVP" />
<docvar key="instr-class" value="system" />
<docvar key="isa" value="A64" />
<docvar key="mnemonic" value="SYS" />
</docvars>
<asmtemplate><text>DVP RCTX, </text><a link="sa_xt_1" hover="64-bit general-purpose source register (field &quot;Rt&quot;)">&lt;Xt&gt;</a></asmtemplate>
<equivalent_to>
<asmtemplate><a href="sys.xml#SYS_CR_systeminstrs">SYS</a><text> #3, C7, C3, #5, </text><a link="sa_xt_1" hover="64-bit general-purpose source register (field &quot;Rt&quot;)">&lt;Xt&gt;</a></asmtemplate>
<aliascond>Unconditionally</aliascond>
</equivalent_to>
</encoding>
</iclass>
</classes>
<explanations scope="all">
<explanation enclist="DVP_SYS_CR_systeminstrs" symboldefcount="1">
<symbol link="sa_xt_1">&lt;Xt&gt;</symbol>
<account encodedin="Rt">
<intro>
<para>Is the 64-bit name of the general-purpose source register, encoded in the "Rt" field.</para>
</intro>
</account>
</explanation>
</explanations>
</instructionsection>