<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE register_page SYSTEM "registers.dtd">
<!-- Copyright (c) 2010-2026 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. -->
<!--The data contained in this document is preliminary and subject to change or correction following further review. -->
<?xml-stylesheet href="one_register.xsl" type="text/xsl" ?>







<register_page>
  <registers>
  
    <register execution_state="AArch64" is_register="True" is_internal="True" is_stub_entry="False">
      <reg_short_name>ESR_EL2</reg_short_name>
        
        <reg_long_name>Exception Syndrome Register (EL2)</reg_long_name>



      
            <reg_condition otherwise="UNDEFINED">when FEAT_AA64 is implemented</reg_condition>
      




          <reg_reset_value></reg_reset_value>

      <reg_mappings>
        



    
      
      <reg_mapping>
        
  

    

  

    <mapped_name filename="AArch32-hsr.xml">HSR</mapped_name>
  <mapped_type>Architectural</mapped_type>
      <mapped_execution_state>AArch32</mapped_execution_state>
    <mapped_from_startbit>31</mapped_from_startbit>
    <mapped_from_endbit>0</mapped_from_endbit>
    <mapped_to_startbit>31</mapped_to_startbit>
    <mapped_to_endbit>0</mapped_to_endbit>
    <mapped_from_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_from_rangeset>
    <mapped_to_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_to_rangeset>

      </reg_mapping>

      </reg_mappings>

        <reg_purpose>
          
    
      <purpose_text>
        <para>Holds syndrome information for an exception taken to EL2.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
            <reg_group>Virt</reg_group>
            <reg_group>Exception</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>If EL2 is not implemented, this register is <arm-defined-word>RES0</arm-defined-word> from EL3.</para>

      </configuration_text>
      <configuration_text>
        <para>This register has no effect if EL2 is not enabled in the current Security state.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>ESR_EL2 is a 64-bit register.</para>
      </attributes_text>

      </reg_attributes>
      <reg_fieldsets>
        






<fields id="fieldset_0" length="64">
  <text_before_fields><para>ESR_EL2 is made <arm-defined-word>UNKNOWN</arm-defined-word> as a result of an exception return from EL2.</para>
<para>When an <arm-defined-word>UNPREDICTABLE</arm-defined-word> instruction is treated as <arm-defined-word>UNDEFINED</arm-defined-word>, and the exception is taken to EL2, the value of ESR_EL2 is <arm-defined-word>UNKNOWN</arm-defined-word>. The value written to ESR_EL2 must be consistent with a value that could be created as a result of an exception from the same Exception level that generated the exception as a result of a situation that is not <arm-defined-word>UNPREDICTABLE</arm-defined-word> at that Exception level, in order to avoid the possibility of a privilege violation.</para></text_before_fields>
  <field id="fieldset_0-63_56" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-55_32" has_partial_fieldset="True" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>ISS2</field_name>
    <field_msb>55</field_msb>
    <field_lsb>32</field_lsb>
    <rel_range>55:32</rel_range>
    <field_description order="before">
      <para>ISS2 encoding for an exception, the bit assignments are:</para>
    </field_description>
    <partial_fieldset>
      <fields id="fieldset_0-55_32_0" length="24">
        <fields_condition/>
        <fields_instance>an exception from a Data Abort</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-55_32_0-23_12" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>12</field_lsb>
          <rel_range>23:12</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-55_32_0-11_11-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>HDBSSF</field_name>
          <field_msb>11</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>When DFSC indicates a stage 2 Permission fault, this field indicates whether that fault was caused because HDBSS cannot have data appended, because the HDBSS is either full or in an error state.</para>
<para>When DFSC indicates a synchronous External abort on translation table walk or hardware update of translation table, this field indicates whether the fault was caused by a write to the HDBSS.</para>
<para>When DFSC indicates a Granule Protection Fault on translation table walk or hardware update of translation table, this field indicates whether the fault was caused by a write to the HDBSS.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault was not caused by HDBSS.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault was caused by HDBSS.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_HDBSS is implemented, IsSecondStage(Fault), and GetESR_ELx_DFSC(EL2) IN {'0011xx', '01001x', '0101xx', '10001x', '1001xx'}</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-11_11-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>11</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-10_10-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>TnD</field_name>
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Tag not Data.</para>
<para>If a memory access generates a Data Abort for a stage 1 Permission fault, this field indicates whether the fault is due to an Allocation Tag access.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Permission fault is not due to a write of an Allocation Tag to Canonically Tagged memory.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Permission fault is due to a write of an Allocation Tag to Canonically Tagged memory.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_MTE_CANONICAL_TAGS is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-10_10-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-9_9-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>TagAccess</field_name>
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>NoTagAccess fault.</para>
<para>If a memory access generates a Data Abort for a Permission fault, this field indicates whether the fault is due to the NoTagAccess memory attribute.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Permission fault is not due to the NoTagAccess memory attribute, and not due to an access using a Tag VA.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Permission fault is due to the NoTagAccess memory attribute.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_MTE_PERM is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-9_9-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>9</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-8_8-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>GCS</field_name>
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Guarded Control Stack data access.</para>
<para>If a memory access generates a Data Abort, this field indicates whether the fault is due to a Guarded Control Stack data access.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Data Abort is not due to a Guarded control stack data access.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Data Abort is due to a Guarded control stack data access. The ISV field is 0.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_GCS is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-8_8-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-7_7-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>AssuredOnly</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>AssuredOnly flag.</para>
<para>If a memory access generates a Data Abort for a stage 2 Permission fault, this field holds information about the fault.</para>
<para>If this field is 1 and ESR_EL2.GCS is 1, then the AssuredOnly check might have been the result of VTCR_EL2.GCSH configuration.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Data Abort is not due to AssuredOnly.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Data Abort is due to AssuredOnly.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_THE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-7_7-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-6_6-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>Overlay</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Overlay flag.</para>
<para>If a memory access generates a Data Abort for a Permission fault, this field holds information about the fault.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Data Abort is not due to Overlay Permissions.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Data Abort is due to Overlay Permissions.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_S1POE is implemented or FEAT_S2POE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-6_6-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-5_5-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>DirtyBit</field_name>
          <field_msb>5</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>DirtyBit flag.</para>
<para>If a write access to memory generates a Data Abort for a Permission fault using Indirect Permission, this field holds information about the fault.</para></field_description>
          <field_description order="after">
            <para>For any other fault or Access, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Permission Fault is not due to dirty state.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Permission Fault is due to dirty state.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_S1PIE is implemented or FEAT_S2PIE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-5_5-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>5</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-4_0-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>Xs</field_name>
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before"><para>When <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, if a memory access generated by an ST64BV instruction generates a Data Abort exception reported with ISV=1, then this field holds register specifier, Xs.</para>
<para>When <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, if a memory access generated by an ST64BV0 instruction generates a Data Abort exception reported with ISV=1, then this field holds register specifier, Xs.</para>
<para>Otherwise, this field is <arm-defined-word>RES0</arm-defined-word>.</para></field_description>
          <fields_condition>When FEAT_LS64 is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_0-4_0-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="24">
        <fields_condition/>
        <fieldat id="fieldset_0-55_32_0-23_12" msb="23" lsb="12"/>
        <fieldat id="fieldset_0-55_32_0-11_11-1" msb="11" lsb="11"/>
        <fieldat id="fieldset_0-55_32_0-10_10-1" msb="10" lsb="10"/>
        <fieldat id="fieldset_0-55_32_0-9_9-1" msb="9" lsb="9"/>
        <fieldat id="fieldset_0-55_32_0-8_8-1" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-55_32_0-7_7-1" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-55_32_0-6_6-1" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-55_32_0-5_5-1" msb="5" lsb="5"/>
        <fieldat id="fieldset_0-55_32_0-4_0-1" msb="4" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-55_32_1" length="24">
        <fields_condition/>
        <fields_instance>an exception from an Instruction Abort</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-55_32_1-23_12" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>12</field_lsb>
          <rel_range>23:12</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-55_32_1-11_11-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>HDBSSF</field_name>
          <field_msb>11</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Indicates that the fault was caused by the HDBSS.</para>
<para>When IFSC indicates a stage 2 Permission fault, this field indicates whether that fault was caused because HDBSS cannot have data appended, because the HDBSS is either full or in an error state.</para>
<para>When IFSC indicates a synchronous External abort on translation table walk or hardware update of translation table, this field indicates whether the fault was caused by a write to the HDBSS.</para>
<para>When IFSC indicates a Granule Protection Fault on translation table walk or hardware update of translation table, this field indicates whether the fault was caused by a write to the HDBSS.</para></field_description>
          <field_description order="after"><para>This field only applies for stage 2 Permission faults.</para>
<para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault was not caused by HDBSS.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault was caused by HDBSS.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_HDBSS is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-11_11-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>11</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-10_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>10</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>10:8</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-55_32_1-7_7-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>AssuredOnly</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>AssuredOnly flag.</para>
<para>If a memory access generates a Instruction Abort for a Permission fault, then this field holds information about the fault.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Instruction Abort is not due to AssuredOnly.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Instruction Abort is due to  stage 2 AssuredOnly attribute.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_THE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-7_7-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-6_6-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>Overlay</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Overlay flag.</para>
<para>If a memory access generates a Instruction Abort for a Permission fault, then this field holds information about the fault.</para></field_description>
          <field_description order="after">
            <para>For any other fault, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Instruction Abort is not due to Overlay Permissions.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Instruction Abort is due to Overlay Permissions.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_S1POE is implemented or FEAT_S2POE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-6_6-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-5_5-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>DirtyBit</field_name>
          <field_msb>5</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>DirtyBit flag.</para>
<para>If a write access to memory generates an Instruction Abort for a Permission fault using Indirect Permission, this field holds information about the fault.</para></field_description>
          <field_description order="after">
            <para>For any other fault or Access, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Permission Fault is not due to dirty state.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Permission Fault is due to dirty state.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_S2PIE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-5_5-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>5</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_1-4_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="24">
        <fields_condition/>
        <fieldat id="fieldset_0-55_32_1-23_12" msb="23" lsb="12"/>
        <fieldat id="fieldset_0-55_32_1-11_11-1" msb="11" lsb="11"/>
        <fieldat id="fieldset_0-55_32_1-10_8" msb="10" lsb="8"/>
        <fieldat id="fieldset_0-55_32_1-7_7-1" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-55_32_1-6_6-1" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-55_32_1-5_5-1" msb="5" lsb="5"/>
        <fieldat id="fieldset_0-55_32_1-4_0" msb="4" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-55_32_2" length="24">
        <fields_condition/>
        <fields_instance>an exception from a Watchpoint exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-55_32_2-23_9" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>23:9</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-55_32_2-8_8-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>GCS</field_name>
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Guarded control stack data access.</para>
<para>Indicates that the Watchpoint exception is due to a Guarded control stack data access.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Watchpoint exception is not due to a Guarded control stack data access.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Watchpoint exception is due to a Guarded control stack data access.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_GCS is implemented</fields_condition>
        </field>
        <field id="fieldset_0-55_32_2-8_8-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-55_32_2-7_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>7</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>7:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="24">
        <fields_condition/>
        <fieldat id="fieldset_0-55_32_2-23_9" msb="23" lsb="9"/>
        <fieldat id="fieldset_0-55_32_2-8_8-1" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-55_32_2-7_0" msb="7" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-55_32_3" length="24">
        <fields_condition/>
        <fields_instance>all other exceptions</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-55_32_3-23_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>23:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="24">
        <fields_condition/>
        <fieldat id="fieldset_0-55_32_3-23_0" msb="23" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
  </field>
  <field id="fieldset_0-31_26" has_partial_fieldset="False" is_linked_to_partial_fieldset="True" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>EC</field_name>
    <field_msb>31</field_msb>
    <field_lsb>26</field_lsb>
    <rel_range>31:26</rel_range>
    <field_description order="before"><para>Exception Class. Indicates the reason for the exception that this register holds information about.</para>
<para>For each EC value, the table references a subsection that gives information about:</para>
<list type="unordered">
<listitem><content>The cause of the exception, for example the configuration required to enable the trap.</content>
</listitem><listitem><content>The encoding of the associated ISS.</content>
</listitem></list>
<para>Possible values of the EC field are:</para></field_description>
    <field_description order="after"><para>All other EC values are reserved by Arm, and:</para>
<list type="unordered">
<listitem><content>Unused values in the range <binarynumber>0b000000</binarynumber> - <binarynumber>0b101100</binarynumber> (<hexnumber>0x00</hexnumber> - <hexnumber>0x2C</hexnumber>) are reserved for future use for synchronous exceptions.</content>
</listitem><listitem><content>Unused values in the range <binarynumber>0b101101</binarynumber> - <binarynumber>0b111111</binarynumber> (<hexnumber>0x2D</hexnumber> - <hexnumber>0x3F</hexnumber>) are reserved for future use, and might be used for synchronous or asynchronous exceptions.</content>
</listitem></list>
<para>The effect of programming this field to a reserved value is that behavior is <arm-defined-word>CONSTRAINED UNPREDICTABLE</arm-defined-word>.</para></field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b000000</field_value>
        <field_value_description>
          <para>Unknown reason.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="exceptions with an unknown reason" linked_field_id="fieldset_0-24_0_0"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000001</field_value>
        <field_value_description><para>Trapped WF* instruction execution.</para>
<para>Conditional WF* instructions that fail their condition code check do not cause an exception.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a WF* instruction" linked_field_id="fieldset_0-24_0_1"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000011</field_value>
        <field_value_description>
          <para>Trapped MCR or MRC access with (coproc==<binarynumber>0b1111</binarynumber>) that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an MCR or MRC access" linked_field_id="fieldset_0-24_0_2"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000100</field_value>
        <field_value_description>
          <para>Trapped MCRR or MRRC access with (coproc==<binarynumber>0b1111</binarynumber>) that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an MCRR or MRRC access" linked_field_id="fieldset_0-24_0_4"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000101</field_value>
        <field_value_description>
          <para>Trapped MCR or MRC access with (coproc==<binarynumber>0b1110</binarynumber>).</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an MCR or MRC access" linked_field_id="fieldset_0-24_0_2"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000110</field_value>
        <field_value_description><para>Trapped LDC or STC access.</para>
<para>The only architected uses of these instruction are:</para>
<list type="unordered">
<listitem><content>An STC to write data to memory from <register_link state="AArch32" id="AArch32-dbgdtrrxint.xml">DBGDTRRXint</register_link>.</content>
</listitem><listitem><content>An LDC to read data from memory to <register_link state="AArch32" id="AArch32-dbgdtrtxint.xml">DBGDTRTXint</register_link>.</content>
</listitem></list></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an LDC or STC instruction" linked_field_id="fieldset_0-24_0_5"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b000111</field_value>
        <field_value_description><para>Access to SME, SVE, Advanced SIMD or floating-point functionality trapped by <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.FPEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.FPEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TFP, or <register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TFP control.</para>
<para>Excludes exceptions resulting from <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link> when the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TGE is 1, or because SVE or Advanced SIMD and floating-point are not implemented. These are reported with EC value <binarynumber>0b000000</binarynumber>.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an access to a register or instruction resulting from the FPEN and TFP traps" linked_field_id="fieldset_0-24_0_6"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001000</field_value>
        <field_value_description>
          <para>Trapped VMRS access, from ID group trap, that is not reported using EC value <binarynumber>0b000111</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an MCR or MRC access" linked_field_id="fieldset_0-24_0_2"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001001</field_value>
        <field_value_description>
          <para>Trapped use of a Pointer authentication instruction.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a trapped Pointer Authentication instruction" linked_field_id="fieldset_0-24_0_28"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_PAuth is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001010</field_value>
        <field_value_description>
          <para>Trapped execution of any instruction not covered by other EC values.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from any other instruction" linked_field_id="fieldset_0-24_0_3"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_LS64 is implemented, or FEAT_SPEv1p5 is implemented, or FEAT_TRBEv1p1 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001100</field_value>
        <field_value_description>
          <para>Trapped MRRC access with (coproc==<binarynumber>0b1110</binarynumber>).</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an MCRR or MRRC access" linked_field_id="fieldset_0-24_0_4"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001101</field_value>
        <field_value_description>
          <para>Branch Target Exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="a Branch Target Exception" linked_field_id="fieldset_0-24_0_27"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_BTI is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b001110</field_value>
        <field_value_description>
          <para>Illegal Execution state.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an Illegal Execution state, or a PC or SP alignment fault" linked_field_id="fieldset_0-24_0_9"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010001</field_value>
        <field_value_description><para>SVC instruction execution in AArch32 state.</para>
<para>This is reported in ESR_EL2 only when the exception is generated because the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TGE is 1.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from HVC or SVC instruction execution" linked_field_id="fieldset_0-24_0_11"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010010</field_value>
        <field_value_description>
          <para>HVC instruction execution in AArch32 state, when HVC is not disabled.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from HVC or SVC instruction execution" linked_field_id="fieldset_0-24_0_11"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010011</field_value>
        <field_value_description><para>SMC instruction execution in AArch32 state, when SMC is not disabled.</para>
<para>This is reported in ESR_EL2 only when the exception is generated because the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TSC is 1.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from SMC instruction execution in AArch32 state" linked_field_id="fieldset_0-24_0_12"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010100</field_value>
        <field_value_description>
          <para>Trapped MSRR, MRRS or System instruction execution in AArch64 state, that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from MSRR, MRRS, or 128-bit System instruction execution in AArch64 state" linked_field_id="fieldset_0-24_0_15"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_SYSREG128 is implemented or FEAT_SYSINSTR128 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010101</field_value>
        <field_value_description>
          <para>SVC instruction execution in AArch64 state.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from HVC or SVC instruction execution" linked_field_id="fieldset_0-24_0_11"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010110</field_value>
        <field_value_description>
          <para>HVC instruction execution in AArch64 state, when HVC is not disabled.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from HVC or SVC instruction execution" linked_field_id="fieldset_0-24_0_11"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b010111</field_value>
        <field_value_description><para>SMC instruction execution in AArch64 state, when SMC is not disabled.</para>
<para>This is reported in ESR_EL2 only when the exception is generated because the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TSC is 1.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from SMC instruction execution in AArch64 state" linked_field_id="fieldset_0-24_0_13"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b011000</field_value>
        <field_value_description><para>Trapped MSR, MRS or System instruction execution in AArch64 state, that is not reported using EC values <binarynumber>0b000000</binarynumber>, <binarynumber>0b000001</binarynumber> or <binarynumber>0b000111</binarynumber>.</para>
<para>This includes all instructions that cause exceptions that are part of the encoding space defined in <xref linkend="#BEIJIEIE">'System instruction class encoding overview'</xref>, except for those exceptions reported using EC values <binarynumber>0b000000</binarynumber>, <binarynumber>0b000001</binarynumber>, or <binarynumber>0b000111</binarynumber>.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from MSR, MRS, or System instruction execution in AArch64 state" linked_field_id="fieldset_0-24_0_14"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b011001</field_value>
        <field_value_description>
          <para>Access to SVE functionality trapped as a result of <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.ZEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.ZEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TZ, or <register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.EZ, that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an access to SVE functionality, resulting from CPACR_EL1.ZEN, CPTR_EL2.ZEN, CPTR_EL2.TZ, or CPTR_EL3.EZ" linked_field_id="fieldset_0-24_0_7"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_SVE is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b011010</field_value>
        <field_value_description>
          <para>Trapped ERET, ERETAA, or ERETAB instruction execution.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an ERET, ERETAA, or ERETAB instruction" linked_field_id="fieldset_0-24_0_26"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_FGT is implemented or FEAT_NV is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b011100</field_value>
        <field_value_description>
          <para>Exception from a PAC Fail</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="a PAC Fail exception" linked_field_id="fieldset_0-24_0_29"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_FPAC is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b011101</field_value>
        <field_value_description>
          <para>Access to SME functionality trapped as a result of <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.SMEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.SMEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TSM, <register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.ESM, or an attempted execution of an instruction that is illegal because of the value of PSTATE.SM or PSTATE.ZA, that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception due to SME functionality" linked_field_id="fieldset_0-24_0_17"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_SME is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100000</field_value>
        <field_value_description><para>Instruction Abort from a lower Exception level.</para>
<para>Used for MMU faults generated by instruction accesses and synchronous External aborts, including synchronous parity or ECC errors. Not used for debug-related exceptions.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an Instruction Abort" linked_field_id="fieldset_0-24_0_16"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from an Instruction Abort" linked_field_id="fieldset_0-55_32_1"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100001</field_value>
        <field_value_description><para>Instruction Abort taken without a change in Exception level.</para>
<para>Used for MMU faults generated by instruction accesses and synchronous External aborts, including synchronous parity or ECC errors. Not used for debug-related exceptions.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an Instruction Abort" linked_field_id="fieldset_0-24_0_16"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from an Instruction Abort" linked_field_id="fieldset_0-55_32_1"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100010</field_value>
        <field_value_description>
          <para>PC alignment fault exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an Illegal Execution state, or a PC or SP alignment fault" linked_field_id="fieldset_0-24_0_9"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100100</field_value>
        <field_value_description><para>Data Abort exception from a lower Exception level, excluding Data Abort exceptions taken to EL2 as a result of accesses generated associated with <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> as part of nested virtualization support.</para>
<para>These Data Abort exceptions might be generated from Exception levels in any Execution state.</para>
<para>Used for MMU faults generated by data accesses, alignment faults other than those caused by Stack Pointer misalignment, and synchronous External aborts, including synchronous parity or ECC errors. Not used for debug-related exceptions.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Data Abort" linked_field_id="fieldset_0-24_0_18"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from a Data Abort" linked_field_id="fieldset_0-55_32_0"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100101</field_value>
        <field_value_description><para>Data Abort exception without a change in Exception level, or Data Abort exceptions taken to EL2 as a result of accesses generated associated with <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> as part of nested virtualization support.</para>
<para>Used for MMU faults generated by data accesses, alignment faults other than those caused by Stack Pointer misalignment, and synchronous External aborts, including synchronous parity or ECC errors. Not used for debug-related exceptions.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Data Abort" linked_field_id="fieldset_0-24_0_18"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from a Data Abort" linked_field_id="fieldset_0-55_32_0"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100110</field_value>
        <field_value_description>
          <para>SP alignment fault exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from an Illegal Execution state, or a PC or SP alignment fault" linked_field_id="fieldset_0-24_0_9"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b100111</field_value>
        <field_value_description>
          <para>Memory Operation Exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from the Memory Copy and Memory Set instructions" linked_field_id="fieldset_0-24_0_10"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_MOPS is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b101000</field_value>
        <field_value_description><para>Trapped floating-point exception taken from AArch32 state.</para>
<para>This EC value is valid if the implementation supports trapping of floating-point exceptions, otherwise it is reserved. Whether a floating-point implementation supports trapping of floating-point exceptions is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word>.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a trapped floating-point exception" linked_field_id="fieldset_0-24_0_19"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b101100</field_value>
        <field_value_description><para>Trapped floating-point exception taken from AArch64 state.</para>
<para>This EC value is valid if the implementation supports trapping of floating-point exceptions, otherwise it is reserved. Whether a floating-point implementation supports trapping of floating-point exceptions is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word>.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a trapped floating-point exception" linked_field_id="fieldset_0-24_0_19"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b101101</field_value>
        <field_value_description>
          <para>GCS exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="a GCS exception" linked_field_id="fieldset_0-24_0_20"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_GCS is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b101111</field_value>
        <field_value_description>
          <para>SError exception.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an SError exception" linked_field_id="fieldset_0-24_0_21"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110000</field_value>
        <field_value_description>
          <para>Breakpoint exception from a lower Exception level.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Breakpoint or Vector Catch debug exception" linked_field_id="fieldset_0-24_0_22"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110001</field_value>
        <field_value_description>
          <para>Breakpoint exception taken without a change in Exception level.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Breakpoint or Vector Catch debug exception" linked_field_id="fieldset_0-24_0_22"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110010</field_value>
        <field_value_description>
          <para>Software Step exception from a lower Exception level.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Software Step exception" linked_field_id="fieldset_0-24_0_23"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110011</field_value>
        <field_value_description>
          <para>Software Step exception taken without a change in Exception level.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Software Step exception" linked_field_id="fieldset_0-24_0_23"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110100</field_value>
        <field_value_description><para>Watchpoint from a lower Exception level, excluding Watchpoint Exceptions taken to EL2 as a result of accesses generated associated with <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> as part of nested virtualization support.</para>
<para>These Watchpoint Exceptions might be generated from Exception levels using any Execution state.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Watchpoint exception" linked_field_id="fieldset_0-24_0_24"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from a Watchpoint exception" linked_field_id="fieldset_0-55_32_2"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b110101</field_value>
        <field_value_description>
          <para>Watchpoint exceptions without a change in Exception level, or Watchpoint exceptions taken to EL2 as a result of accesses generated associated with <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> as part of nested virtualization support.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Watchpoint exception" linked_field_id="fieldset_0-24_0_24"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="an exception from a Watchpoint exception" linked_field_id="fieldset_0-55_32_2"/>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111000</field_value>
        <field_value_description>
          <para>BKPT instruction execution in AArch32 state.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from execution of a Breakpoint instruction" linked_field_id="fieldset_0-24_0_25"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111010</field_value>
        <field_value_description><para>Vector Catch exception from AArch32 state.</para>
<para>The only case where a Vector Catch exception is taken to an Exception level that is using AArch64 is when the exception is routed to EL2 and EL2 is using AArch64.</para></field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from a Breakpoint or Vector Catch debug exception" linked_field_id="fieldset_0-24_0_22"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA32 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111100</field_value>
        <field_value_description>
          <para>BRK instruction execution in AArch64 state.</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="an exception from execution of a Breakpoint instruction" linked_field_id="fieldset_0-24_0_25"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_AA64 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111101</field_value>
        <field_value_description>
          <para>Profiling exception</para>
        </field_value_description>
        <field_value_links_to linked_field_name="ISS" linked_field_condition="a Profiling exception" linked_field_id="fieldset_0-24_0_8"/>
        <field_value_links_to linked_field_name="ISS2" linked_field_condition="all other exceptions" linked_field_id="fieldset_0-55_32_3"/>
        <field_value_condition>When FEAT_EBEP is implemented, or FEAT_SPE_EXC is implemented, or FEAT_TRBE_EXC is implemented</field_value_condition>
      </field_value_instance>
    </field_values>
    <field_resets>
      <field_reset reset_type="Warm">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <field id="fieldset_0-25_25" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>IL</field_name>
    <field_msb>25</field_msb>
    <field_lsb>25</field_lsb>
    <rel_range>25</rel_range>
    <field_description order="before">
      <para>Instruction Length for synchronous exceptions. Possible values of this bit are:</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>16-bit instruction trapped.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description><para>32-bit instruction trapped. This value is also used when the exception is one of the following:</para>
<list type="unordered">
<listitem><content>
<para>An SError exception.</para>
</content>
</listitem><listitem><content>
<para>An Instruction Abort exception.</para>
</content>
</listitem><listitem><content>
<para>A PC alignment fault exception.</para>
</content>
</listitem><listitem><content>
<para>An SP alignment fault exception.</para>
</content>
</listitem><listitem><content>
<para>A Data Abort exception for which the value of the ISV bit is 0.</para>
</content>
</listitem><listitem><content>
<para>An Illegal Execution state exception.</para>
</content>
</listitem><listitem><content>
<para>Any debug exception except for Breakpoint instruction exceptions. For Breakpoint instruction exceptions, this bit has its standard meaning:</para>
<list type="unordered">
<listitem><content>
<para>'0': 16-bit T32 BKPT instruction.</para>
</content>
</listitem><listitem><content>
<para>'1': 32-bit A32 BKPT instruction or A64 BRK instruction.</para>
</content>
</listitem></list>
</content>
</listitem><listitem><content>
<para>An exception reported using EC value <binarynumber>0b000000</binarynumber>.</para>
</content>
</listitem></list></field_value_description>
      </field_value_instance>
    </field_values>
    <field_resets>
      <field_reset reset_type="Warm">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <field id="fieldset_0-24_0" has_partial_fieldset="True" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>ISS</field_name>
    <field_msb>24</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>24:0</rel_range>
    <field_description order="before"><para>Instruction Specific Syndrome. Architecturally, this field can be defined independently for each defined Exception class. However, in practice, some ISS encodings are used for more than one Exception class.</para>
<para>Typically, an ISS encoding has a number of subfields. When an ISS subfield holds a register number, the value returned in that field is the AArch64 view of the register number.</para>
<para>For an exception taken from AArch32 state, see <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para>
<para>If the AArch32 register descriptor is <binarynumber>0b1111</binarynumber>, then:</para>
<list type="unordered">
<listitem><content>If the instruction that generated the exception was not <arm-defined-word>UNPREDICTABLE</arm-defined-word>, the field takes the value <binarynumber>0b11111</binarynumber>.</content>
</listitem><listitem><content>If the instruction that generated the exception was <arm-defined-word>UNPREDICTABLE</arm-defined-word>, the field takes an <arm-defined-word>UNKNOWN</arm-defined-word> value that must be either:<list type="unordered">
<listitem><content>The AArch64 view of the register number of a register that might have been used at the Exception level from which the exception was taken.</content>
</listitem><listitem><content>The value <binarynumber>0b11111</binarynumber>.</content>
</listitem></list>
</content>
</listitem></list></field_description>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_0" length="25">
        <fields_condition/>
        <fields_instance>exceptions with an unknown reason</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_0-24_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>24:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para>When an exception is reported using this EC value, the IL field is set to 1.</para>
<para>This EC value is used for all exceptions that are not covered by any other EC value. This includes exceptions that are generated in the following situations:</para>
<list type="unordered">
<listitem><content>The attempted execution of an instruction bit pattern that has no allocated instruction or that is not accessible at the current Exception level and Security state, including:<list type="unordered">
<listitem><content>A read access using a System register pattern that is not allocated for reads or that does not permit reads at the current Exception level and Security state.</content>
</listitem><listitem><content>A write access using a System register pattern that is not allocated for writes or that does not permit writes at the current Exception level and Security state.</content>
</listitem><listitem><content>Instruction encodings that are unallocated.</content>
</listitem><listitem><content>Instruction encodings for instructions or System registers that are not implemented in the implementation.</content>
</listitem></list>
</content>
</listitem><listitem><content>In Debug state, the attempted execution of an instruction bit pattern that is not accessible in Debug state.</content>
</listitem><listitem><content>In Non-debug state, the attempted execution of an instruction bit pattern that is not accessible in Non-debug state.</content>
</listitem><listitem><content>In AArch32 state, attempted execution of a short vector floating-point instruction.</content>
</listitem><listitem><content>In an implementation that does not include Advanced SIMD and floating-point functionality, an attempted access to Advanced SIMD or floating-point functionality under conditions where that access would be permitted if that functionality was present. This includes the attempted execution of an Advanced SIMD or floating-point instruction, and attempted accesses to Advanced SIMD and floating-point System registers.</content>
</listitem><listitem><content>An exception generated because of the value of one of the <register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.{ITD, SED, CP15BEN} control bits.</content>
</listitem><listitem><content>Attempted execution of:<list type="unordered">
<listitem><content>An HVC instruction when disabled by <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.HCD or <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.HCE.</content>
</listitem><listitem><content>An SMC instruction when disabled by <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.SMD.</content>
</listitem><listitem><content>An HLT instruction when disabled by <register_link state="ext" id="ext-edscr.xml">EDSCR</register_link>.HDE.</content>
</listitem></list>
</content>
</listitem><listitem><content>Attempted execution of an MSR or MRS instruction to access <register_link state="AArch64" id="AArch64-sp_el0.xml">SP_EL0</register_link> when the value of <register_link state="AArch64" id="AArch64-spsel.xml">SPSel</register_link>.SP is 0.</content>
</listitem><listitem><content>Attempted execution of an MSR or MRS instruction using a _EL12 register name when the Effective value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.E2H is not 1.</content>
</listitem><listitem><content>Attempted execution, in Debug state, of:<list type="unordered">
<listitem><content>A DCPS1 instruction when the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TGE is 1 and EL2 is disabled or not implemented in the current Security state.</content>
</listitem><listitem><content>A DCPS2 instruction from EL1 or EL0 when EL2 is disabled or not implemented in the current Security state.</content>
</listitem><listitem><content>A DCPS3 instruction when the value of <register_link state="ext" id="ext-edscr.xml">EDSCR</register_link>.SDD is 1, or when EL3 is not implemented.</content>
</listitem></list>
</content>
</listitem><listitem><content>When EL3 is using AArch64, attempted execution from Secure EL1 of an SRS instruction using R13_mon.</content>
</listitem><listitem><content>In Debug state when the value of <register_link state="ext" id="ext-edscr.xml">EDSCR</register_link>.SDD is 1, the attempted execution at EL2, EL1, and EL0 of an instruction that is configured to trap to EL3.</content>
</listitem><listitem><content>In AArch32 state, the attempted execution of an MRS (banked register) or an MSR (banked register) instruction to SPSR_mon, SP_mon, or LR_mon.</content>
</listitem><listitem><content>An exception that is taken to EL2 because the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TGE is 1. If the value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TGE is 0, this exception is reported using an ESR_EL2.EC value of <binarynumber>0b000111</binarynumber>.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_UINJ">FEAT_UINJ</xref> is implemented, an Undefined exception caused by attempting to execute any instruction when PSTATE.UINJ is 1.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_0-24_0" msb="24" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_1" length="25">
        <fields_condition/>
        <fields_instance>an exception from a WF* instruction</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_1-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_1-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_1-19_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>19</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>19:10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_1-9_5-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>RN</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>Register Number. Indicates the register number supplied for a <instruction>WFET</instruction> or <instruction>WFIT</instruction> instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_WFxT is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_1-9_5-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_1-4_3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>4</field_msb>
          <field_lsb>3</field_lsb>
          <rel_range>4:3</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_1-2_2-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>RV</field_name>
          <field_msb>2</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"><para>Register field Valid.</para>
<para>If TI[1] == 1, then this field indicates whether RN holds a valid register number for the register argument to the trapped <instruction>WFET</instruction> or <instruction>WFIT</instruction> instruction.</para></field_description>
          <field_description order="after"><para>If TI[1] == 0, then this field is <arm-defined-word>RES0</arm-defined-word>.</para>
<para>This field is set to 1 on a trap on <instruction>WFET</instruction> or <instruction>WFIT</instruction>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Register field invalid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Register field valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_WFxT is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_1-2_2-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>2</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>2</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_1-1_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>TI</field_name>
          <field_msb>1</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Trapped instruction. Possible values of this bit are:</para>
          </field_description>
          <field_description order="after">
            <para>When <xref linkend="#FEAT_WFxT">FEAT_WFxT</xref> is implemented, this is a two bit field as shown. Otherwise, bit[1] is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>WFI trapped.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01</field_value>
              <field_value_description>
                <para>WFE trapped.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>WFIT trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_WFxT is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>WFET trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_WFxT is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following fields describe configuration settings for generating this exception:</para>
<list type="unordered">
<listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.{TWE, TWI}.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.{nTWE, nTWI}.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el2.xml">SCTLR_EL2</register_link>.{nTWE, nTWI}.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TWE, TWI}.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.{TWE, TWI}.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_1-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_1-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_1-19_10" msb="19" lsb="10"/>
        <fieldat id="fieldset_0-24_0_1-9_5-1" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_1-4_3" msb="4" lsb="3"/>
        <fieldat id="fieldset_0-24_0_1-2_2-1" msb="2" lsb="2"/>
        <fieldat id="fieldset_0-24_0_1-1_0" msb="1" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_2" length="25">
        <fields_condition>When FEAT_AA32 is implemented</fields_condition>
        <fields_instance>an exception from an MCR or MRC access</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_2-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-19_17" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Opc2</field_name>
          <field_msb>19</field_msb>
          <field_lsb>17</field_lsb>
          <rel_range>19:17</rel_range>
          <field_description order="before"><para>The Opc2 value from the issued instruction.</para>
<para>For a trapped VMRS access, holds the value <binarynumber>0b000</binarynumber>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-16_14" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Opc1</field_name>
          <field_msb>16</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>16:14</rel_range>
          <field_description order="before"><para>The Opc1 value from the issued instruction.</para>
<para>For a trapped VMRS access, holds the value <binarynumber>0b111</binarynumber>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-13_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRn</field_name>
          <field_msb>13</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>13:10</rel_range>
          <field_description order="before"><para>The CRn value from the issued instruction.</para>
<para>For a trapped VMRS access, holds the reg field from the VMRS instruction encoding.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-9_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rt</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"><para>The Rt value from the issued instruction, the general-purpose register used for the transfer.</para>
<para>If the Rt value is not <binarynumber>0b1111</binarynumber>, then the reported value gives the AArch64 view of the register. Otherwise, if the Rt value is <binarynumber>0b1111</binarynumber>:</para>
<list type="unordered">
<listitem><content>
<para>If the instruction that generated the exception is not <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes the value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem><listitem><content>
<para>If the instruction that generated the exception is <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes an <arm-defined-word>UNKNOWN</arm-defined-word> value, which is restricted to either:</para>
<list type="unordered">
<listitem><content>
<para>The AArch64 view of one of the registers that could have been used in AArch32 state at the Exception level that the instruction was executed at.</para>
</content>
</listitem><listitem><content>
<para>The value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem></list>
</content>
</listitem></list>
<para>See <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-4_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRm</field_name>
          <field_msb>4</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>4:1</rel_range>
          <field_description order="before"><para>The CRm value from the issued instruction.</para>
<para>For a trapped VMRS access, holds the value <binarynumber>0b0000</binarynumber>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_2-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Direction</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates the direction of the trapped instruction.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Write to System register space. MCR instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Read from System register space. MRC or VMRS instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following fields describe configuration settings for generating exceptions from an MCR or MRC access using coproc <binarynumber>0b1111</binarynumber>, that are reported using EC value <binarynumber>0b000011</binarynumber>:</para>
<list type="unordered">
<listitem><content>If <xref linkend="#FEAT_TIDCP1">FEAT_TIDCP1</xref> is implemented, <register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.TIDCP, for EL0 accesses to <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> functionality using AArch32 state, trapped to EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cntkctl_el1.xml">CNTKCTL_EL1</register_link>.{EL0PTEN, EL0VTEN, EL0PCTEN, EL0VCTEN}, for accesses to the Generic Timer Registers from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-pmuserenr_el0.xml">PMUSERENR_EL0</register_link>.{ER, CR, SW, EN}, for accesses to Performance Monitor registers from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-amuserenr_el0.xml">AMUSERENR_EL0</register_link>.EN, for accesses to Activity Monitors System registers from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.{TRVM, TVM} and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TRVM, TVM}, for accesses to virtual memory control registers from EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TTLB and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TTLB, for execution of TLB maintenance instructions at EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.{TSW, TPC, TPU} and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TSW, TPC, TPU} for execution of cache maintenance instructions at EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TAC and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TACR, for accesses to the Auxiliary Control Register at EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TIDCP and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TIDCP, for accesses to lockdown, DMA, and TCM operations at EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_TIDCP1">FEAT_TIDCP1</xref> is implemented, <register_link state="AArch64" id="AArch64-sctlr_el2.xml">SCTLR_EL2</register_link>.TIDCP, for EL0 accesses to <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> functionality using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.{TID1, TID2, TID3} and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TID1, TID2, TID3}, for accesses to ID registers at EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr2.xml">HCR2</register_link>.TERR, for Non-secure accesses to error record registers at EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TCPAC and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TCPAC, for accesses to <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link> or <register_link state="AArch32" id="AArch32-cpacr.xml">CPACR</register_link> using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hstr.xml">HSTR</register_link>.T&lt;n&gt; and <register_link state="AArch64" id="AArch64-hstr_el2.xml">HSTR_EL2</register_link>.T&lt;n&gt;, for accesses to System registers using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-cnthctl.xml">CNTHCTL</register_link>.PL1PCEN and <register_link state="AArch64" id="AArch64-cnthctl_el2.xml">CNTHCTL_EL2</register_link>.EL1PCEN, for accesses to the Generic Timer registers from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TTRF, for Non-secure accesses to trace filter control registers from system registers using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.{TPM, TPMCR} and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.{TPM, TPMCR}, for accesses to Performance Monitor registers from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TAM and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TAM, for accesses to Activity Monitors System registers from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TCPAC, for accesses to <register_link state="AArch32" id="AArch32-cpacr.xml">CPACR</register_link> from EL1 and EL2, and accesses to <register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link> from EL2 using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TPM, for accesses to Performance Monitor registers from EL0, EL1 and EL2 using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TAM, for accesses to Activity Monitors System registers from EL0, EL1 and EL2 using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, access to some registers at EL0, trapped to EL2.</content>
</listitem></list>
<para>The following fields describe configuration settings for generating exceptions from an MCR or MRC access using coproc <binarynumber>0b1110</binarynumber>, that are reported using EC value <binarynumber>0b000101</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.TTA for accesses to trace System registers, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdscr_el1.xml">MDSCR_EL1</register_link>.TDCC, for accesses to the Debug Communications Channel (DCC) registers at EL0 and EL1 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDCC for accesses to the DCC System registers at EL0 and EL1 trapped to EL2, and <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDCC for accesses to the DCC System registers at EL0, EL1, and EL2 trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TID0 and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TID0, for accesses to the <register_link state="AArch32" id="AArch32-jidr.xml">JIDR</register_link> register in the ID group 0 at EL0 and EL1 using AArch32, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TTA and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TTA, for accesses to trace System registers using AArch32, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TDRA and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDRA, for accesses to Debug ROM registers <register_link state="AArch32" id="AArch32-dbgdrar.xml">DBGDRAR</register_link> and <register_link state="AArch32" id="AArch32-dbgdsar.xml">DBGDSAR</register_link> using AArch32, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TDOSA and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDOSA, for accesses to powerdown debug System registers, using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TDA and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDA, for accesses to other debug System registers, using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TTA, for accesses to trace System registers using AArch32, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDOSA, for accesses to powerdown debug System registers using AArch32, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDA, for accesses to other debug System registers, using AArch32, trapped to EL3.</content>
</listitem></list>
<para>The following fields describe configuration settings for generating exceptions from a VMSR or VMRS access, that are reported using EC value <binarynumber>0b001000</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TID0 and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TID0, for accesses to the <register_link state="AArch32" id="AArch32-fpsid.xml">FPSID</register_link> register in ID group 0 at EL1 using AArch32 state, VMRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TID3 and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TID3, for accesses to registers in ID group 3 including <register_link state="AArch32" id="AArch32-mvfr0.xml">MVFR0</register_link>, <register_link state="AArch32" id="AArch32-mvfr1.xml">MVFR1</register_link> and <register_link state="AArch32" id="AArch32-mvfr2.xml">MVFR2</register_link>, VMRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.{TCP10, TCP11}, for Non-secure accesses to <register_link state="AArch32" id="AArch32-fpscr.xml">FPSCR</register_link>, <register_link state="AArch32" id="AArch32-fpsid.xml">FPSID</register_link>, <register_link state="AArch32" id="AArch32-fpexc.xml">FPEXC</register_link>, <register_link state="AArch32" id="AArch32-mvfr0.xml">MVFR0</register_link>, <register_link state="AArch32" id="AArch32-mvfr1.xml">MVFR1</register_link>, and <register_link state="AArch32" id="AArch32-mvfr2.xml">MVFR2</register_link>, trapped to EL2.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_AA32 is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_2-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_2-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_2-19_17" msb="19" lsb="17"/>
        <fieldat id="fieldset_0-24_0_2-16_14" msb="16" lsb="14"/>
        <fieldat id="fieldset_0-24_0_2-13_10" msb="13" lsb="10"/>
        <fieldat id="fieldset_0-24_0_2-9_5" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_2-4_1" msb="4" lsb="1"/>
        <fieldat id="fieldset_0-24_0_2-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_3" length="25">
        <fields_condition>When FEAT_LS64 is implemented or (EL2 == EL2 and (FEAT_SPEv1p5 is implemented or FEAT_TRBEv1p1 is implemented))</fields_condition>
        <fields_instance>an exception from any other instruction</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_3-24_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ISS</field_name>
          <field_msb>24</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>24:0</rel_range>
          <field_description order="before"/>
          <field_description order="after">
            <para>All other values are reserved.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0000000000000000000000000</field_value>
              <field_value_description>
                <para><instruction>ST64BV</instruction> instruction trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64_V is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0000000000000000000000001</field_value>
              <field_value_description>
                <para><instruction>ST64BV0</instruction> instruction trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64_ACCDATA is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0000000000000000000000010</field_value>
              <field_value_description>
                <para><instruction>LD64B</instruction> or <instruction>ST64B</instruction> instruction trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0000000000000000000000011</field_value>
              <field_value_description>
                <para><instruction>PSB CSYNC</instruction> instruction trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SPEv1p5 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0000000000000000000000100</field_value>
              <field_value_description>
                <para><instruction>TSB CSYNC</instruction> instruction trapped.</para>
              </field_value_description>
              <field_value_condition>When FEAT_TRBEv1p1 is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_LS64 is implemented or (EL2 == EL2 and (FEAT_SPEv1p5 is implemented or FEAT_TRBEv1p1 is implemented))</fields_condition>
        <fieldat id="fieldset_0-24_0_3-24_0" msb="24" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_4" length="25">
        <fields_condition>When FEAT_AA32 is implemented</fields_condition>
        <fields_instance>an exception from an MCRR or MRRC access</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_4-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-19_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Opc1</field_name>
          <field_msb>19</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>19:16</rel_range>
          <field_description order="before">
            <para>The Opc1 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-15_15" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>15</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_4-14_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rt2</field_name>
          <field_msb>14</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>14:10</rel_range>
          <field_description order="before"><para>The Rt2 value from the issued instruction, the second general-purpose register used for the transfer.</para>
<para>If the Rt2 value is not <binarynumber>0b1111</binarynumber>, then the reported value gives the AArch64 view of the register. Otherwise, if the Rt2 value is <binarynumber>0b1111</binarynumber>:</para>
<list type="unordered">
<listitem><content>
<para>If the instruction that generated the exception is not <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes the value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem><listitem><content>
<para>If the instruction that generated the exception is <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes an <arm-defined-word>UNKNOWN</arm-defined-word> value, which is restricted to either:</para>
<list type="unordered">
<listitem><content>
<para>The AArch64 view of one of the registers that could have been used in AArch32 state at the Exception level that the instruction was executed at.</para>
</content>
</listitem><listitem><content>
<para>The value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem></list>
</content>
</listitem></list>
<para>See <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-9_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rt</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"><para>The Rt value from the issued instruction, the first general-purpose register used for the transfer.</para>
<para>If the Rt value is not <binarynumber>0b1111</binarynumber>, then the reported value gives the AArch64 view of the register. Otherwise, if the Rt value is <binarynumber>0b1111</binarynumber>:</para>
<list type="unordered">
<listitem><content>
<para>If the instruction that generated the exception is not <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes the value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem><listitem><content>
<para>If the instruction that generated the exception is <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes an <arm-defined-word>UNKNOWN</arm-defined-word> value, which is restricted to either:</para>
<list type="unordered">
<listitem><content>
<para>The AArch64 view of one of the registers that could have been used in AArch32 state at the Exception level that the instruction was executed at.</para>
</content>
</listitem><listitem><content>
<para>The value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem></list>
</content>
</listitem></list>
<para>See <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-4_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRm</field_name>
          <field_msb>4</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>4:1</rel_range>
          <field_description order="before">
            <para>The CRm value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_4-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Direction</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates the direction of the trapped instruction.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Write to System register space. MCRR instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Read from System register space. MRRC instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following fields describe configuration settings for generating exceptions from an MCRR or MRRC access using coproc <binarynumber>0b1111</binarynumber>, that are reported using EC value <binarynumber>0b000100</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-cntkctl_el1.xml">CNTKCTL_EL1</register_link>.{EL0PTEN, EL0VTEN, EL0PCTEN, EL0VCTEN}, for accesses to the Generic Timer Registers from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-pmuserenr_el0.xml">PMUSERENR_EL0</register_link>.{CR, EN}, for accesses to Performance Monitor registers from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-amuserenr_el0.xml">AMUSERENR_EL0</register_link>.{EN}, for accesses to Activity Monitors System registers AMEVCNTR0&lt;n&gt; and AMEVCNTR1&lt;n&gt; from EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.{TRVM, TVM} and <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TRVM, TVM}, for accesses to virtual memory control registers from EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr2.xml">HCR2</register_link>.TERR, for Non-secure accesses to error record registers at EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hstr.xml">HSTR</register_link>.T&lt;n&gt; and <register_link state="AArch64" id="AArch64-hstr_el2.xml">HSTR_EL2</register_link>.T&lt;n&gt;, for accesses to System registers using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-cnthctl.xml">CNTHCTL</register_link>.{PL1PCEN, PL1PCTEN} and <register_link state="AArch64" id="AArch64-cnthctl_el2.xml">CNTHCTL_EL2</register_link>.{EL1PCEN, EL1PCTEN}, for accesses to the Generic Timer registers from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TPM and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.{TPM, TPMCR}, for accesses to Performance Monitor registers from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TAM and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TAM, for accesses to Activity Monitors System registers AMEVCNTR0&lt;n&gt; and AMEVCNTR1&lt;n&gt; from EL0 and EL1 using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TPM, for accesses to Performance Monitor registers from EL0, EL1 and EL2 using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TAM, for accesses to Activity Monitors System registers from EL0, EL1 and EL2 using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-hdfgrtr_el2.xml">HDFGRTR_EL2</register_link>.PMCCNTR_EL0 for MRRC access and <register_link state="AArch64" id="AArch64-hdfgwtr_el2.xml">HDFGWTR_EL2</register_link>.PMCCNTR_EL0 for MCRR access to <register_link state="AArch32" id="AArch32-pmccntr.xml">PMCCNTR</register_link> at EL0, trapped to EL2.</content>
</listitem></list>
<para>The following fields describe configuration settings for generating exceptions from an MCRR or MRRC access using coproc <binarynumber>0b1110</binarynumber>, that are reported using EC value <binarynumber>0b001100</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-mdscr_el1.xml">MDSCR_EL1</register_link>.TDCC, for accesses to the Debug ROM registers <register_link state="AArch32" id="AArch32-dbgdsar.xml">DBGDSAR</register_link> and <register_link state="AArch32" id="AArch32-dbgdrar.xml">DBGDRAR</register_link> at EL0 using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TDRA and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDRA, for accesses to Debug ROM registers <register_link state="AArch32" id="AArch32-dbgdrar.xml">DBGDRAR</register_link> and <register_link state="AArch32" id="AArch32-dbgdsar.xml">DBGDSAR</register_link> using AArch32, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDA, for accesses to debug System registers, using AArch32, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.TTA for accesses to trace System registers using AArch32, trapped to EL1 or EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TTA and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TTA, for accesses to trace System registers using AArch32, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TTA, for accesses to trace System registers using AArch32, trapped to EL3.</content>
</listitem></list>
<note><para>If FEAT_ETMv4 or FEAT_ETE are implemented, MCRR and MRRC accesses to trace System registers are <arm-defined-word>UNDEFINED</arm-defined-word> and the resulting exception is higher priority than an exception due to these traps.</para></note></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_AA32 is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_4-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_4-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_4-19_16" msb="19" lsb="16"/>
        <fieldat id="fieldset_0-24_0_4-15_15" msb="15" lsb="15"/>
        <fieldat id="fieldset_0-24_0_4-14_10" msb="14" lsb="10"/>
        <fieldat id="fieldset_0-24_0_4-9_5" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_4-4_1" msb="4" lsb="1"/>
        <fieldat id="fieldset_0-24_0_4-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_5" length="25">
        <fields_condition/>
        <fields_instance>an exception from an LDC or STC instruction</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_5-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-19_12" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>imm8</field_name>
          <field_msb>19</field_msb>
          <field_lsb>12</field_lsb>
          <rel_range>19:12</rel_range>
          <field_description order="before">
            <para>The immediate value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-11_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>11</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>11:10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_5-9_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rn</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"><para>The Rn value from the issued instruction, the general-purpose register used for the transfer.</para>
<para>If the Rn value is not <binarynumber>0b1111</binarynumber>, then the reported value gives the AArch64 view of the register. Otherwise, if the Rn value is <binarynumber>0b1111</binarynumber>:</para>
<list type="unordered">
<listitem><content>
<para>If the instruction that generated the exception is not <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes the value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem><listitem><content>
<para>If the instruction that generated the exception is <arm-defined-word>UNPREDICTABLE</arm-defined-word>, then the register specifier takes an <arm-defined-word>UNKNOWN</arm-defined-word> value, which is restricted to either:</para>
<list type="unordered">
<listitem><content>
<para>The AArch64 view of one of the registers that could have been used in AArch32 state at the Exception level that the instruction was executed at.</para>
</content>
</listitem><listitem><content>
<para>The value <binarynumber>0b11111</binarynumber>.</para>
</content>
</listitem></list>
</content>
</listitem></list>
<para>See <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para>
<para>This field is valid only when AM[2] is 0, indicating an immediate form of the LDC or STC instruction. When AM[2] is 1, indicating a literal form of the LDC or STC instruction, this field is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-4_4" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Offset</field_name>
          <field_msb>4</field_msb>
          <field_lsb>4</field_lsb>
          <rel_range>4</rel_range>
          <field_description order="before">
            <para>Indicates whether the offset is added or subtracted:</para>
          </field_description>
          <field_description order="after">
            <para>This bit corresponds to the U bit in the instruction encoding.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Subtract offset.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Add offset.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-3_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>AM</field_name>
          <field_msb>3</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>3:1</rel_range>
          <field_description order="before">
            <para>Addressing mode. The permitted values of this field are:</para>
          </field_description>
          <field_description order="after"><para>The values <binarynumber>0b101</binarynumber> and <binarynumber>0b111</binarynumber> are reserved. The effect of programming this field to a reserved value is that behavior is <arm-defined-word>CONSTRAINED UNPREDICTABLE</arm-defined-word>, as described in <xref linkend="#CEGFJDFD">'Reserved values in System and memory-mapped registers and translation table entries'</xref>.</para>
<para>Bit [2] in this subfield indicates the instruction form, immediate or literal.</para>
<para>Bits [1:0] in this subfield correspond to the bits {P, W} in the instruction encoding.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000</field_value>
              <field_value_description>
                <para>Immediate unindexed.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001</field_value>
              <field_value_description>
                <para>Immediate post-indexed.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010</field_value>
              <field_value_description>
                <para>Immediate offset.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011</field_value>
              <field_value_description>
                <para>Immediate pre-indexed.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100</field_value>
              <field_value_description>
                <para>For a trapped STC instruction or a trapped T32 LDC instruction this encoding is reserved.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110</field_value>
              <field_value_description>
                <para>For a trapped STC instruction, this encoding is reserved.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_5-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Direction</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates the direction of the trapped instruction.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Write to memory. STC instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Read from memory. LDC instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following fields describe the configuration settings from an LDC or STC access for the traps that are reported using EC value <binarynumber>0b000110</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-mdscr_el1.xml">MDSCR_EL1</register_link>.TDCC, for accesses to <register_link state="AArch32" id="AArch32-dbgdtrtxint.xml">DBGDTRTXint</register_link> and <register_link state="AArch32" id="AArch32-dbgdtrrxint.xml">DBGDTRRXint</register_link>, using AArch32 state, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hdcr.xml">HDCR</register_link>.TDA and <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDA, for accesses to <register_link state="AArch32" id="AArch32-dbgdtrtxint.xml">DBGDTRTXint</register_link> and <register_link state="AArch32" id="AArch32-dbgdtrrxint.xml">DBGDTRRXint</register_link>, using AArch32 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDA, for accesses to <register_link state="AArch32" id="AArch32-dbgdtrtxint.xml">DBGDTRTXint</register_link> and <register_link state="AArch32" id="AArch32-dbgdtrrxint.xml">DBGDTRRXint</register_link>, using AArch32 state, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDCC for accesses to the DCC System registers at EL0 and EL1 trapped to EL2, and <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDCC for accesses to the DCC System registers at EL0, EL1, and EL2 trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_5-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_5-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_5-19_12" msb="19" lsb="12"/>
        <fieldat id="fieldset_0-24_0_5-11_10" msb="11" lsb="10"/>
        <fieldat id="fieldset_0-24_0_5-9_5" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_5-4_4" msb="4" lsb="4"/>
        <fieldat id="fieldset_0-24_0_5-3_1" msb="3" lsb="1"/>
        <fieldat id="fieldset_0-24_0_5-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_6" length="25">
        <fields_condition/>
        <fields_instance>an exception from an access to a register or instruction resulting from the FPEN and TFP traps</fields_instance>
        <text_before_fields><para>The accesses covered by this trap include:</para>
<list type="unordered">
<listitem><content>Execution of Advanced SIMD and floating-point instructions.</content>
</listitem><listitem><content>Accesses to the Advanced SIMD and floating-point System registers.</content>
</listitem><listitem><content>Execution of SVE instructions.</content>
</listitem><listitem><content>Execution of SME instructions.</content>
</listitem></list>
<para>For an implementation that does not include either SVE or support for Advanced SIMD and floating-point, the exception is reported using the EC value <binarynumber>0b000000</binarynumber>.</para></text_before_fields>
        <field id="fieldset_0-24_0_6-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_6-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_6-19_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>19</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>19:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para>The following fields describe the configuration settings for the traps that are reported using EC value <binarynumber>0b000111</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.{TCP10, TCP11}, for Non-secure accesses to Advanced SIMD and floating-point registers and instructions, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcptr.xml">HCPTR</register_link>.TASE, for Non-secure accesses to Advanced SIMD functionality, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.FPEN, for accesses to SIMD and floating-point registers trapped to EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.FPEN and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TFP, for accesses to SIMD and floating-point registers trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TFP, for accesses to SIMD and floating-point registers trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_6-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_6-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_6-19_0" msb="19" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_7" length="25">
        <fields_condition>When FEAT_SVE is implemented</fields_condition>
        <fields_instance>an exception from an access to SVE functionality, resulting from CPACR_EL1.ZEN, CPTR_EL2.ZEN, CPTR_EL2.TZ, or CPTR_EL3.EZ</fields_instance>
        <text_before_fields><para>The accesses covered by this trap include:</para>
<list type="unordered">
<listitem><content>Execution of SVE instructions when the PE is not in Streaming SVE mode.</content>
</listitem><listitem><content>Accesses to the SVE System registers, ZCR_ELx.</content>
</listitem></list>
<para>For an implementation that does not include SVE, the exception is reported using the EC value <binarynumber>0b000000</binarynumber>.</para></text_before_fields>
        <field id="fieldset_0-24_0_7-24_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>24:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para>The following fields describe the configuration settings for the traps that are reported using EC value <binarynumber>0b011001</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.ZEN, for execution of SVE instructions and accesses to SVE registers at EL1 or EL0, trapped to EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.ZEN and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TZ, for execution of SVE instructions and accesses to SVE registers at EL0, EL1, or EL2, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.EZ, for execution of SVE instructions and accesses to SVE registers from all Exception levels, trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_SVE is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_7-24_0" msb="24" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_8" length="25">
        <fields_condition>When FEAT_EBEP is implemented, or FEAT_SPE_EXC is implemented, or FEAT_TRBE_EXC is implemented</fields_condition>
        <fields_instance>a Profiling exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_8-24_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>24:6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_8-5_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>5:1</rel_range>
          <field_description order="before">
            <para>Indicates why the Profiling exception was generated.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00000</field_value>
              <field_value_description>
                <para>PMU Profiling exception. The exception was generated because at least one PMU counter overflow status flag was 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_EBEP is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00001</field_value>
              <field_value_description>
                <para>Profiling Buffer management event. The exception was generated because <register_link state="AArch64" id="AArch64-pmbsr_el2.xml">PMBSR_EL2</register_link>.S was 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SPE_EXC is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00010</field_value>
              <field_value_description>
                <para>Trace buffer management event. The exception was generated because <register_link state="AArch64" id="AArch64-trbsr_el2.xml">TRBSR_EL2</register_link>.IRQ was 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_TRBE_EXC is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_8-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_EBEP is implemented, or FEAT_SPE_EXC is implemented, or FEAT_TRBE_EXC is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_8-24_6" msb="24" lsb="6"/>
        <fieldat id="fieldset_0-24_0_8-5_1" msb="5" lsb="1"/>
        <fieldat id="fieldset_0-24_0_8-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_9" length="25">
        <fields_condition/>
        <fields_instance>an exception from an Illegal Execution state, or a PC or SP alignment fault</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_9-24_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>24:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para>There are no configuration settings for generating Illegal Execution state exceptions and PC alignment fault exceptions. For more information about PC alignment fault exceptions, see <xref linkend="#MDSec.pc_alignment_checking">'PC alignment checking'</xref>.</para>
<para><xref linkend="#MDSec.sp_alignment_checking">'SP alignment checking'</xref> describes the configuration settings for generating SP alignment fault exceptions.</para></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_9-24_0" msb="24" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_10" length="25">
        <fields_condition>When FEAT_MOPS is implemented</fields_condition>
        <fields_instance>an exception from the Memory Copy and Memory Set instructions</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_10-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>MemInst</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Indicates the memory instruction class causing the exception.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>CPYFE*, CPYFM*, CPYE*, and CPYM* instructions.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description><para>The instruction that caused the exception is in one of the following instruction classes:</para>
<list type="unordered">
<listitem><content>
<para>SETE*, SETM*.</para>
</content>
</listitem><listitem><content>
<para>SETGE*, SETGM*.</para>
</content>
</listitem></list></field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-23_23" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>isSETG</field_name>
          <field_msb>23</field_msb>
          <field_lsb>23</field_lsb>
          <rel_range>23</rel_range>
          <field_description order="before"><para>Indicates whether the instruction belongs to one of the following instruction classes:</para>
<list type="unordered">
<listitem><content>SETGE*, SETGM*.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The instruction that caused the exception is not in one of the specified classes.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The instruction that caused the exception is in one of the specified classes.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-22_19" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Options</field_name>
          <field_msb>22</field_msb>
          <field_lsb>19</field_lsb>
          <rel_range>22:19</rel_range>
          <field_description order="before">
            <para>Options : the Options field of the instruction.</para>
          </field_description>
          <field_description order="after"><para>For Memory Copy instructions, bits[22:19] forms the Options field, which holds the bits[15:12] of the instruction.</para>
<para>For Memory Set instructions:</para>
<list type="unordered">
<listitem><content>
<para>Bits[22:21] are <arm-defined-word>RES0</arm-defined-word>.</para>
</content>
</listitem><listitem><content>
<para>Bits[20:19] form the Options field, which holds the bits[13:12] of the instruction.</para>
</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-18_18" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FromEpilogue</field_name>
          <field_msb>18</field_msb>
          <field_lsb>18</field_lsb>
          <rel_range>18</rel_range>
          <field_description order="before"><para>Indicates whether the instruction belongs to one of the following epilogue classes of Memory Copy or Memory Set instructions:</para>
<list type="unordered">
<listitem><content>
<para>CPYE*, CPYFE*.</para>
</content>
</listitem><listitem><content>
<para>SETE*, SETGE*.</para>
</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The instruction that caused the exception is not in one of the specified classes.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The instruction that caused the exception is in one of the specified classes.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-17_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FormatOption</field_name>
          <field_msb>17</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>17:16</rel_range>
          <field_description order="before">
            <para>Reports the Option used to encode the initial Xs, Xd, and Xn register values provided to the instruction that generated the exception.</para>
          </field_description>
          <field_description order="after"><para>For more information, see <xref linkend="#MDSec.memcpy_and_memset_exceptions">Memory Copy and Memory Set exceptions</xref>.</para>
<note><para>This field was previously presented as two separate bits, WrongOption, bit[17] and OptionA, bit [16], which were already expected to be used together and not individually.</para></note></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Option B.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01</field_value>
              <field_value_description>
                <para>Option A.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>Option A.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Option B.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-15_15" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>15</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_10-14_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>destreg</field_name>
          <field_msb>14</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>14:10</rel_range>
          <field_description order="before">
            <para>The destination register value from the issued instruction, containing the destination address.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-9_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>srcreg</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before">
            <para>The source register value from the issued instruction, containing either the source address or the source data.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_10-4_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>sizereg</field_name>
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>The size register value from the issued instruction, containing the number of bytes to be transferred or set.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_MOPS is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_10-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_10-23_23" msb="23" lsb="23"/>
        <fieldat id="fieldset_0-24_0_10-22_19" msb="22" lsb="19"/>
        <fieldat id="fieldset_0-24_0_10-18_18" msb="18" lsb="18"/>
        <fieldat id="fieldset_0-24_0_10-17_16" msb="17" lsb="16"/>
        <fieldat id="fieldset_0-24_0_10-15_15" msb="15" lsb="15"/>
        <fieldat id="fieldset_0-24_0_10-14_10" msb="14" lsb="10"/>
        <fieldat id="fieldset_0-24_0_10-9_5" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_10-4_0" msb="4" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_11" length="25">
        <fields_condition/>
        <fields_instance>an exception from HVC or SVC instruction execution</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_11-24_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>24:16</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_11-15_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>imm16</field_name>
          <field_msb>15</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>15:0</rel_range>
          <field_description order="before"><para>The value of the immediate field from the HVC or SVC instruction.</para>
<para>For an HVC instruction, and for an A64 SVC instruction, this is the value of the imm16 field of the issued instruction.</para>
<para>For an A32 or T32 SVC instruction:</para>
<list type="unordered">
<listitem><content>If the instruction is unconditional, then:<list type="unordered">
<listitem><content>For the T32 instruction, this field is zero-extended from the imm8 field of the instruction.</content>
</listitem><listitem><content>For the A32 instruction, this field is the bottom 16 bits of the imm24 field of the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>If the instruction is conditional, this field is <arm-defined-word>UNKNOWN</arm-defined-word>.</content>
</listitem></list></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>In AArch32 state, the HVC instruction is unconditional, and a conditional SVC instruction generates an exception only if it passes its condition code check. Therefore, the syndrome information for these exceptions does not require conditionality information.</para>
<para>For T32 and A32 instructions, see <xref linkend="#A32T32-base.instructions.SVC">'SVC'</xref> and <xref linkend="#A32T32-base.instructions.HVC">'HVC'</xref>.</para>
<para>For A64 instructions, see <xref linkend="#A64.instructions.SVC">'SVC'</xref> and <xref linkend="#A64.instructions.HVC">'HVC'</xref>.</para>
<para>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-hfgitr_el2.xml">HFGITR_EL2</register_link>.{SVC_EL1, SVC_EL0} control fine-grained traps on SVC execution.</para></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_11-24_16" msb="24" lsb="16"/>
        <fieldat id="fieldset_0-24_0_11-15_0" msb="15" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_12" length="25">
        <fields_condition/>
        <fields_instance>an exception from SMC instruction execution in AArch32 state</fields_instance>
        <text_before_fields><para>For an SMC instruction that completes normally and generates an exception that is taken to EL3, the ISS encoding is <arm-defined-word>RES0</arm-defined-word>.</para>
<para>For an SMC instruction that is trapped to EL2 from EL1 because <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TSC is 1, the ISS encoding is as shown in the diagram.</para></text_before_fields>
        <field id="fieldset_0-24_0_12-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Condition code valid.</para>
          </field_description>
          <field_description order="after"><para>For exceptions taken from AArch64, CV is set to 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1.</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether CV is set to 1 or set to 0. See the description of the COND field for more information.</content>
</listitem></list>
<para>This field is valid only if CCKNOWNPASS is 1, otherwise it is <arm-defined-word>RES0</arm-defined-word>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The COND field is not valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The COND field is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_12-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>COND</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before"><para>For exceptions taken from AArch64, this field is set to <binarynumber>0b1110</binarynumber>.</para>
<para>The condition code for the trapped instruction. This field is valid only for exceptions taken from AArch32, and only when the value of CV is 1.</para>
<para>For exceptions taken from AArch32:</para>
<list type="unordered">
<listitem><content>When an A32 instruction is trapped, CV is set to 1 and:<list type="unordered">
<listitem><content>If the instruction is conditional, COND is set to the condition code field value from the instruction.</content>
</listitem><listitem><content>If the instruction is unconditional, COND is set to <binarynumber>0b1110</binarynumber>.</content>
</listitem></list>
</content>
</listitem><listitem><content>A conditional A32 instruction that is known to pass its condition code check can be presented either:<list type="unordered">
<listitem><content>With COND set to <binarynumber>0b1110</binarynumber>, the value for unconditional.</content>
</listitem><listitem><content>With the COND value held in the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>When a T32 instruction is trapped, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether:<list type="unordered">
<listitem><content>CV is set to 0 and COND is set to an <arm-defined-word>UNKNOWN</arm-defined-word> value. Software must examine the SPSR.IT field to determine the condition, if any, of the T32 instruction.</content>
</listitem><listitem><content>CV is set to 1 and COND is set to the condition code for the condition that applied to the instruction.</content>
</listitem></list>
</content>
</listitem><listitem><content>For an implementation that, for both T32 and A32 instructions, takes an exception on a trapped conditional instruction only if the instruction passes its condition code check, these definitions mean that when CV is set to 1 it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether the COND field is set to <binarynumber>0b1110</binarynumber>, or to the value of any condition that applied to the instruction.</content>
</listitem></list>
<para>This field is valid only if CCKNOWNPASS is 1, otherwise it is <arm-defined-word>RES0</arm-defined-word>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_12-19_19" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CCKNOWNPASS</field_name>
          <field_msb>19</field_msb>
          <field_lsb>19</field_lsb>
          <rel_range>19</rel_range>
          <field_description order="before">
            <para>Indicates whether the instruction might have failed its condition code check.</para>
          </field_description>
          <field_description order="after">
            <note>
              <para>In an implementation in which an SMC instruction that fails it code check is not trapped, this field can always return the value 0.</para>
            </note>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The instruction was unconditional, or was conditional and passed its condition code check.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The instruction was conditional, and might have failed its condition code check.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_12-18_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>18</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>18:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para><register_link state="AArch32" id="AArch32-hcr.xml">HCR</register_link>.TSC describes the configuration settings for trapping SMC instructions to EL2.</para>
<para><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TSC describes the configuration settings for trapping SMC instructions to EL2.</para></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_12-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_12-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_12-19_19" msb="19" lsb="19"/>
        <fieldat id="fieldset_0-24_0_12-18_0" msb="18" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_13" length="25">
        <fields_condition/>
        <fields_instance>an exception from SMC instruction execution in AArch64 state</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_13-24_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>24:16</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_13-15_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>imm16</field_name>
          <field_msb>15</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>15:0</rel_range>
          <field_description order="before">
            <para>The value of the immediate field from the issued SMC instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The value of ISS[24:0] described here is used both:</para>
<list type="unordered">
<listitem><content>When an SMC instruction is trapped from EL1 modes.</content>
</listitem><listitem><content>When an SMC instruction is not trapped, so completes normally and generates an exception that is taken to EL3.</content>
</listitem></list>
<para><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TSC describes the configuration settings for trapping SMC from EL1 modes.</para></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_13-24_16" msb="24" lsb="16"/>
        <fieldat id="fieldset_0-24_0_13-15_0" msb="15" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_14" length="25">
        <fields_condition/>
        <fields_instance>an exception from MSR, MRS, or System instruction execution in AArch64 state</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_14-24_22" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>22</field_lsb>
          <rel_range>24:22</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_14-21_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op0</field_name>
          <field_msb>21</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>21:20</rel_range>
          <field_description order="before">
            <para>The Op0 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-19_17" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op2</field_name>
          <field_msb>19</field_msb>
          <field_lsb>17</field_lsb>
          <rel_range>19:17</rel_range>
          <field_description order="before">
            <para>The Op2 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-16_14" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op1</field_name>
          <field_msb>16</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>16:14</rel_range>
          <field_description order="before">
            <para>The Op1 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-13_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRn</field_name>
          <field_msb>13</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>13:10</rel_range>
          <field_description order="before">
            <para>The CRn value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-9_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rt</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"><para>The Rt value from the issued instruction, the general-purpose register used for the transfer.</para>
<para>For system instructions which require that the opcode Rt field is set to <binarynumber>0b11111</binarynumber>, but where the trapped instruction has a different value of Rt, an implementation is permitted to return the value <binarynumber>0b11111</binarynumber>, instead of the value of Rt from the trapped instruction.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-4_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRm</field_name>
          <field_msb>4</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>4:1</rel_range>
          <field_description order="before">
            <para>The CRm value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_14-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Direction</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates the direction of the trapped instruction.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Write access, including MSR instructions.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Read access, including MRS instructions.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>For exceptions caused by System instructions, see <xref linkend="#isa:control">'System instructions' subsection of 'Branches, exception generating and System instructions'</xref> for the encoding values returned by an instruction.</para>
<para>The following fields describe configuration settings for generating the exception that is reported using EC value <binarynumber>0b011000</binarynumber>:</para>
<list type="unordered">
<listitem><content>If <xref linkend="#FEAT_TIDCP1">FEAT_TIDCP1</xref> is implemented, <register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.TIDCP, for EL0 accesses to <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> functionality using AArch64 state, MSR or MRS access trapped to EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.UCI, for execution of cache maintenance instructions using AArch64 state, execution is trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.UCT, for accesses to <register_link state="AArch64" id="AArch64-ctr_el0.xml">CTR_EL0</register_link> using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.DZE, for execution of DC ZVA instructions using AArch64 state, execution is trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.UMA, for accesses to the PSTATE interrupt masks using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.TTA, for accesses to the trace System registers using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdscr_el1.xml">MDSCR_EL1</register_link>.TDCC, for accesses to the Debug Communications Channel (DCC) registers using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDCC for accesses to the DCC registers at EL0 and EL1 trapped to EL2, and <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDCC for accesses to the DCC registers at EL0, EL1, and EL2 trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cntkctl_el1.xml">CNTKCTL_EL1</register_link>.{EL0PTEN, EL0VTEN, EL0PCTEN, EL0VCTEN} accesses to the Generic Timer registers using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-pmuserenr_el0.xml">PMUSERENR_EL0</register_link>, for accesses to the Performance Monitor registers using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-amuserenr_el0.xml">AMUSERENR_EL0</register_link>.EN, for accesses to Activity Monitors System registers using AArch64 state, MSR or MRS access trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TRVM, TVM}, for accesses to virtual memory control registers using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TDZ, for execution of DC ZVA instructions using AArch64 state, execution is trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TTLB, for execution of TLB maintenance instructions using AArch64 state, execution is trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_EVT">FEAT_EVT</xref> is implemented, the following registers control traps for EL1 and EL0 registers and instructions that use this EC value:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TICAB, TOCU, TID4}.</content>
</listitem><listitem><content><register_link state="AArch32" id="AArch32-hcr2.xml">HCR2</register_link>.{TICAB, TOCU, TID4}.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_EVT2">FEAT_EVT2</xref> is implemented, the following registers control traps for EL1 and EL0 instructions that use this EC value:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TTLBOS, TTLBIS}.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_EVT2">FEAT_EVT2</xref> is implemented, <register_link state="AArch32" id="AArch32-hcr2.xml">HCR2</register_link>.TTLBIS controls traps for EL1 and EL0 instructions using AArch32 state that use this EC value.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TSW, TPC, TPU}, for execution of cache maintenance instructions using AArch64 state, execution is trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TACR, for accesses to the Auxiliary Control Register, <register_link state="AArch64" id="AArch64-actlr_el1.xml">ACTLR_EL1</register_link>, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TIDCP, for accesses to lockdown, DMA, and TCM operations using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_TIDCP1">FEAT_TIDCP1</xref> is implemented, <register_link state="AArch64" id="AArch64-sctlr_el2.xml">SCTLR_EL2</register_link>.TIDCP, for EL0 accesses to <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> functionality using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TID1, TID2, TID3}, for accesses to ID group 1, ID group 2 or ID group 3 registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_MTE2">FEAT_MTE2</xref> is implemented, <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.TID5, for accesses to <register_link state="AArch64" id="AArch64-gmid_el1.xml">GMID_EL1</register_link>, using AArch64 state, MRS or MSR access at EL1, trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_IDTE3">FEAT_IDTE3</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.TID3, for accesses to ID group 3 registers using AArch64 state, at EL1 and EL2, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TCPAC, for accesses to <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TTA, for accesses to the trace System registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TTRF, for accesses to the trace filter control register, <register_link state="AArch64" id="AArch64-trfcr_el1.xml">TRFCR_EL1</register_link>, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDRA, for accesses to Debug ROM registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDOSA, for accesses to powerdown debug System registers using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cnthctl_el2.xml">CNTHCTL_EL2</register_link>.{EL1PCEN, EL1PCTEN}, for accesses to the Generic Timer registers using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TDA, for accesses to debug System registers using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.{TPM, TPMCR}, for accesses to Performance Monitor registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TAM, for accesses to Activity Monitors System registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.APK, for accesses to Pointer authentication key registers, using AArch64 state, MSR or MRS access trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{NV, NV1}, for Nested virtualization register access, using AArch64 state, MSR or MRS access, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.AT, for execution of AT S1E* instructions, using AArch64 state, execution is trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TERR, FIEN}, for accesses to RAS registers, using AArch64 state, MSR or MRS access, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.APK, for accesses to Pointer authentication key registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.ST, for accesses to the Counter-timer Physical Secure timer registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.{TERR, FIEN}, for accesses to RAS registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TCPAC, for accesses to <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link> and <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link> using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TTA, for accesses to the trace System registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TTRF, for accesses to the trace filter control registers, <register_link state="AArch64" id="AArch64-trfcr_el1.xml">TRFCR_EL1</register_link> and <register_link state="AArch64" id="AArch64-trfcr_el2.xml">TRFCR_EL2</register_link>, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDA, for accesses to debug System registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TDOSA, for accesses to powerdown debug System registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.TPM, for accesses to Performance Monitor registers, using AArch64 state, MSR or MRS access trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SPE">FEAT_SPE</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.NSPB for accesses to Statistical Profiling and Profiling Buffer control registers, using AArch64 state, MSR or MRS access at EL1 and EL2 trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-mdcr_el2.xml">MDCR_EL2</register_link>.TPMS for accesses to SPE registers, using AArch64 state, MSR or MRS access at EL1 trapped to EL2.</content>
</listitem></list>
</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.TAM, for accesses to Activity Monitors System registers, using AArch64 state, MSR or MRS access, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.FGTEn, for accesses to the fine-grained trap registers, MSR or MRS access at EL2 trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgrtr_el2.xml">HFGRTR_EL2</register_link> for reads and <register_link state="AArch64" id="AArch64-hfgwtr_el2.xml">HFGWTR_EL2</register_link> for writes of registers, using AArch64 state, MSR or MRS access at EL0 and EL1 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgitr_el2.xml">HFGITR_EL2</register_link> for execution of system instructions trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hdfgrtr_el2.xml">HDFGRTR_EL2</register_link> for reads and <register_link state="AArch64" id="AArch64-hdfgwtr_el2.xml">HDFGWTR_EL2</register_link> for writes of registers, using AArch64 state, MSR or MRS access at EL0 and EL1 state trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hafgrtr_el2.xml">HAFGRTR_EL2</register_link> for reads of Activity Monitor counters, using AArch64 state, MRS access at EL0 and EL1 trapped to EL2.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_RNG_TRAP">FEAT_RNG_TRAP</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.TRNDR for reads of <register_link state="AArch64" id="AArch64-rndr.xml">RNDR</register_link> and <register_link state="AArch64" id="AArch64-rndrrs.xml">RNDRRS</register_link> using AArch64 state, MRS access trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SME">FEAT_SME</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.ESM, for MSR or MRS accesses to <register_link state="AArch64" id="AArch64-smpri_el1.xml">SMPRI_EL1</register_link> at EL1, EL2, and EL3, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.ESM, for MSR or MRS accesses to <register_link state="AArch64" id="AArch64-smprimap_el2.xml">SMPRIMAP_EL2</register_link> at EL2 and EL3, trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.EnTP2, for MSR or MRS accesses to <register_link state="AArch64" id="AArch64-tpidr2_el0.xml">TPIDR2_EL0</register_link> at EL0, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el2.xml">SCTLR_EL2</register_link>.EnTP2, for MSR or MRS accesses to <register_link state="AArch64" id="AArch64-tpidr2_el0.xml">TPIDR2_EL0</register_link> at EL0, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EnTP2, for MSR or MRS accesses to <register_link state="AArch64" id="AArch64-tpidr2_el0.xml">TPIDR2_EL0</register_link> at EL0, EL1, and EL2, trapped to EL3.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FPMR">FEAT_FPMR</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-sctlr_el1.xml">SCTLR_EL1</register_link>.EnFPM, for accesses to <register_link state="AArch64" id="AArch64-fpmr.xml">FPMR</register_link> at EL0, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr_el2.xml">SCTLR_EL2</register_link>.EnFPM, for accesses to <register_link state="AArch64" id="AArch64-fpmr.xml">FPMR</register_link> at EL0, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcrx_el2.xml">HCRX_EL2</register_link>.EnFPM, for accesses to <register_link state="AArch64" id="AArch64-fpmr.xml">FPMR</register_link> at EL0 and EL1, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EnFPM, for accesses to <register_link state="AArch64" id="AArch64-fpmr.xml">FPMR</register_link> at EL0, EL1, and EL2, trapped to EL3.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_NMI">FEAT_NMI</xref> is implemented, <register_link state="AArch64" id="AArch64-hcrx_el2.xml">HCRX_EL2</register_link>.TALLINT, for MSR writes of <register_link state="AArch64" id="AArch64-allint.xml">ALLINT</register_link> at EL1, trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT2">FEAT_FGT2</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.FGTEn2, for accesses to the fine-grained trap registers, MSR or MRS access at EL2 trapped to EL3.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgrtr2_el2.xml">HFGRTR2_EL2</register_link> for reads and <register_link state="AArch64" id="AArch64-hfgwtr2_el2.xml">HFGWTR2_EL2</register_link> for writes of registers, using AArch64 state, using MSR or MRS access at EL1 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hdfgrtr2_el2.xml">HDFGRTR2_EL2</register_link> for reads and <register_link state="AArch64" id="AArch64-hdfgwtr2_el2.xml">HDFGWTR2_EL2</register_link> for writes of registers, using AArch64 state, using MSR or MRS access at EL0 and EL1 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgitr2_el2.xml">HFGITR2_EL2</register_link> for execution of system instructions trapped to EL2.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_ITE">FEAT_ITE</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EnITE, for accesses to Instrumentation trace System registers, using AArch64 state, MSR or MRS access, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_MEC">FEAT_MEC</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.MECEn, for accesses to MECID registers at EL2, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SPE_FDS">FEAT_SPE_FDS</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EnPMS3 for accesses to SPE registers, using AArch64 state, MSR or MRS access at EL1 and EL2 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SPE_nVM">FEAT_SPE_nVM</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EnPMS4 for accesses to SPE registers, using AArch64 state, MSR or MRS access at EL1 and EL2 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_RASv2">FEAT_RASv2</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.TWERR, for accesses to Error Record registers, MSR access at EL1 and EL2 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_Debugv8p9">FEAT_Debugv8p9</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EBWE for accesses of <register_link state="AArch64" id="AArch64-mdselr_el1.xml">MDSELR_EL1</register_link>, using AArch64 state, MRS or MSR access at EL2 and EL1 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_PMUv3p9">FEAT_PMUv3p9</xref>, <xref linkend="#FEAT_SPMU">FEAT_SPMU</xref>, <xref linkend="#FEAT_EBEP">FEAT_EBEP</xref>, or <xref linkend="#FEAT_PMUv3_SS">FEAT_PMUv3_SS</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EnPM2, for accesses to  PMU registers, using AArch64 state, MSR or MRS access at EL2, EL1, and EL0, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_PMUv3_SS">FEAT_PMUv3_SS</xref> is implemented, <register_link state="AArch64" id="AArch64-mdcr_el3.xml">MDCR_EL3</register_link>.EnPMSS, for accesses to PMU Snapshot registers, using AArch64 state, MSR or MRS access at EL2 and EL1 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_THE">FEAT_THE</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.RCWMASKEn for accesses to <register_link state="AArch64" id="AArch64-rcwmask_el1.xml">RCWMASK_EL1</register_link> and <register_link state="AArch64" id="AArch64-rcwsmask_el1.xml">RCWSMASK_EL1</register_link>, using AArch64 state, MSR or MRS access at EL2 and EL1 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_AIE">FEAT_AIE</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.AIEn for accesses to Extended Memory Attribute registers, MSR or MRS access at EL2 and EL1 trapped to EL3.</content>
</listitem><listitem><content>If FEAT_S1PIE, FEAT_S2PIE, FEAT_S1POE, or FEAT_S2POE is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.PIEn for accesses to Permission Indirection, Overlay registers, MSR or MRS access at EL2, EL1 and EL0 trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_MPAM_PE_BW_CTRL">FEAT_MPAM_PE_BW_CTRL</xref> is implemented, <register_link state="AArch64" id="AArch64-mpambw2_el2.xml">MPAMBW2_EL2</register_link>.{nTRAP_MPAMBWIDR_EL1, nTRAP_MPAMBW0_EL1, nTRAP_MPAMBW1_EL1} for accesses to <xref linkend="#MPAMBWn_ELx">MPAMBWn_EL1</xref> registers, using AArch64 state, MRS or MSR access at EL1, trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_MPAM_PE_BW_CTRL">FEAT_MPAM_PE_BW_CTRL</xref> and <xref linkend="#FEAT_SME">FEAT_SME</xref> are implemented, <register_link state="AArch64" id="AArch64-mpambw2_el2.xml">MPAMBW2_EL2</register_link>.nTRAP_MPAMBWSM_EL1, for accesses to <register_link state="AArch64" id="AArch64-mpambwsm_el1.xml">MPAMBWSM_EL1</register_link>, using AArch64 state, MRS or MSR access at EL1, trapped to EL2.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_MPAM_PE_BW_CTRL">FEAT_MPAM_PE_BW_CTRL</xref> is implemented, <register_link state="AArch64" id="AArch64-mpambw3_el3.xml">MPAMBW3_EL3</register_link>.nTRAPLOWER, for accesses to <register_link state="AArch64" id="AArch64-mpambw2_el2.xml">MPAMBW2_EL2</register_link> and <xref linkend="#MPAMBWn_ELx">MPAMBWn_EL1</xref> registers, using AArch64 state, MRS or MSR access at EL1, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_HACDBS">FEAT_HACDBS</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.HACDBSEn, for accesses to HACDBSBR_EL2 and HACDBSCONS_EL2, using AArch64 state, MRS or MSR access at EL2, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_HDBSS">FEAT_HDBSS</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.HDBSSEn, for accesses to HDBSSBR_EL2 and HDBSSPROD_EL2, using AArch64 state, MRS or MSR access at EL2, trapped to EL3.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SRMASK">FEAT_SRMASK</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.SRMASKEn, for MSR or MRS accesses at EL2 or EL1 to the MASK registers using AArch64 state, trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_14-24_22" msb="24" lsb="22"/>
        <fieldat id="fieldset_0-24_0_14-21_20" msb="21" lsb="20"/>
        <fieldat id="fieldset_0-24_0_14-19_17" msb="19" lsb="17"/>
        <fieldat id="fieldset_0-24_0_14-16_14" msb="16" lsb="14"/>
        <fieldat id="fieldset_0-24_0_14-13_10" msb="13" lsb="10"/>
        <fieldat id="fieldset_0-24_0_14-9_5" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_14-4_1" msb="4" lsb="1"/>
        <fieldat id="fieldset_0-24_0_14-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_15" length="25">
        <fields_condition/>
        <fields_instance>an exception from MSRR, MRRS, or 128-bit System instruction execution in AArch64 state</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_15-24_22" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>22</field_lsb>
          <rel_range>24:22</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_15-21_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op0</field_name>
          <field_msb>21</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>21:20</rel_range>
          <field_description order="before">
            <para>The Op0 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-19_17" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op2</field_name>
          <field_msb>19</field_msb>
          <field_lsb>17</field_lsb>
          <rel_range>19:17</rel_range>
          <field_description order="before">
            <para>The Op2 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-16_14" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Op1</field_name>
          <field_msb>16</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>16:14</rel_range>
          <field_description order="before">
            <para>The Op1 value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-13_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRn</field_name>
          <field_msb>13</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>13:10</rel_range>
          <field_description order="before">
            <para>The CRn value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-9_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Rt</field_name>
          <field_msb>9</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>9:6</rel_range>
          <field_description order="before"><para>The Rt value from the issued instruction, the general-purpose register used for the transfer.</para>
<note><para>This value represents register pair of X[Rt:0], X[Rt:1].</para></note></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-5_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>5</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_15-4_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CRm</field_name>
          <field_msb>4</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>4:1</rel_range>
          <field_description order="before">
            <para>The CRm value from the issued instruction.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_15-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Direction</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates the direction of the trapped instruction.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Write access, MSRR instructions.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Read access, MRRS instructions.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following fields describe configuration settings for generating exceptions from an MSRR or MRRS access that are reported using EC value <binarynumber>0b010100</binarynumber>:</para>
<list type="unordered">
<listitem><content>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hfgrtr_el2.xml">HFGRTR_EL2</register_link> for reads and <register_link state="AArch64" id="AArch64-hfgwtr_el2.xml">HFGWTR_EL2</register_link> for writes of registers, using AArch64 state, accesses at EL1 trapped to EL2.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_FGT2">FEAT_FGT2</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hfgrtr2_el2.xml">HFGRTR2_EL2</register_link>.nRCWSMASK_EL1 for reads and <register_link state="AArch64" id="AArch64-hfgwtr2_el2.xml">HFGWTR2_EL2</register_link>.nRCWSMASK_EL1 for writes of <register_link state="AArch64" id="AArch64-rcwsmask_el1.xml">RCWSMASK_EL1</register_link>, using AArch64 state, accesses at EL1 trapped to EL2.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_SYSREG128">FEAT_SYSREG128</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-sctlr2_el1.xml">SCTLR2_EL1</register_link>.EnIDCP128 for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL0 trapped to EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-sctlr2_el2.xml">SCTLR2_EL2</register_link>.EnIDCP128 for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL0 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcrx_el2.xml">HCRX_EL2</register_link>.EnIDCP128 for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL1 and EL0 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EnIDCP128 for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL2, EL1, and EL0 trapped to EL3.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_D128">FEAT_D128</xref> is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TRVM, TVM} for accesses to <register_link state="AArch64" id="AArch64-ttbr0_el1.xml">TTBR0_EL1</register_link> and <register_link state="AArch64" id="AArch64-ttbr1_el1.xml">TTBR1_EL1</register_link>, accesses at EL1 and EL0 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcrx_el2.xml">HCRX_EL2</register_link>.D128En for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL1 trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgitr_el2.xml">HFGITR_EL2</register_link> for execution of TLBIP system instructions trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.{TTLB, TTLBOS, TTLBIS}, for execution of TLBIP instructions using AArch64 state, execution is trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.D128En for accesses to 128-bit <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> System registers, accesses at EL2 and EL1 trapped to EL3.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_THE">FEAT_THE</xref> is implemented, <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.RCWMASKEn for accesses to <register_link state="AArch64" id="AArch64-rcwmask_el1.xml">RCWMASK_EL1</register_link> and <register_link state="AArch64" id="AArch64-rcwsmask_el1.xml">RCWSMASK_EL1</register_link>, using AArch64 state, accesses at EL2 and EL1 trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_15-24_22" msb="24" lsb="22"/>
        <fieldat id="fieldset_0-24_0_15-21_20" msb="21" lsb="20"/>
        <fieldat id="fieldset_0-24_0_15-19_17" msb="19" lsb="17"/>
        <fieldat id="fieldset_0-24_0_15-16_14" msb="16" lsb="14"/>
        <fieldat id="fieldset_0-24_0_15-13_10" msb="13" lsb="10"/>
        <fieldat id="fieldset_0-24_0_15-9_6" msb="9" lsb="6"/>
        <fieldat id="fieldset_0-24_0_15-5_5" msb="5" lsb="5"/>
        <fieldat id="fieldset_0-24_0_15-4_1" msb="4" lsb="1"/>
        <fieldat id="fieldset_0-24_0_15-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_16" length="25">
        <fields_condition/>
        <fields_instance>an exception from an Instruction Abort</fields_instance>
        <text_before_fields><para>The ISS2 encoding for an exception from an Instruction Abort includes further information about the exception if any of the following are true:</para>
<list type="unordered">
<listitem><content>
<para><xref linkend="#FEAT_THE">FEAT_THE</xref> is implemented and memory access generates an Instruction Abort for AssuredOnly.</para>
</content>
</listitem><listitem><content>
<para><xref filename="A_armv8_architecture_extensions.fm" linkend="FEAT_S1POE or FEAT_S2POE">FEAT_S1POE or FEAT_S2POE</xref> is implemented and a memory access generates an Instruction Abort due to a Permission fault.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_HDBSS">FEAT_HDBSS</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="FEAT_S2PIE">FEAT_S2PIE</xref>.</para>
</content>
</listitem></list></text_before_fields>
        <field id="fieldset_0-24_0_16-24_22" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>22</field_lsb>
          <rel_range>24:22</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_16-21_21-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>TopLevel</field_name>
          <field_msb>21</field_msb>
          <field_lsb>21</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates if the fault was due to TopLevel.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault is not due to TopLevel.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault is due to TopLevel.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_THE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-21_21-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>21</field_msb>
          <field_lsb>21</field_lsb>
          <rel_range>21</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-20_15" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>20</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>20:15</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_16-14_14-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>PFV</field_name>
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>PFAR Valid. Describes whether the PFAR_EL2 register is valid.</para>
          </field_description>
          <field_description order="after">
            <para>This field is valid only if the IFSC code is <binarynumber>0b10000</binarynumber>, <binarynumber>0b01001x</binarynumber>, or <binarynumber>0b0101xx</binarynumber>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>PFAR_EL2 is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>PFAR_EL2 is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_PFAR is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-14_14-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>14</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-13_13" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>13</field_msb>
          <field_lsb>13</field_lsb>
          <rel_range>13</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_16-12_11-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>SET</field_name>
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Synchronous Error Type. When IFSC is <binarynumber>0b010000</binarynumber>, describes the PE error state after taking the Instruction Abort exception.</para>
          </field_description>
          <field_description order="after"><para>All other values are reserved.</para>
<note><para>Software can use this information to determine what recovery might be possible. Taking a synchronous External abort exception might result in a PE state that is not recoverable.</para></note></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Recoverable state (UER).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>Uncontainable (UC).</para>
              </field_value_description>
              <field_value_condition>When FEAT_RASv2 is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Restartable state (UEO).</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RAS is implemented and GetESR_ELx_IFSC(EL2) == '010000'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-12_11-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>12:11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-10_10-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>FnV</field_name>
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>FAR not Valid, for a synchronous External abort other than a synchronous External abort on a translation table walk.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>FAR is valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>FAR is not valid, and holds an <arm-defined-word>UNKNOWN</arm-defined-word> value.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_IFSC(EL2) == '010000'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-10_10-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_16-9_9" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>EA</field_name>
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>9</rel_range>
          <field_description order="before"><para>External abort type. This bit can provide an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> classification of External aborts.</para>
<para>For any abort other than an External abort this bit returns a value of 0.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_16-8_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_16-7_7" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>S1PTW</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before">
            <para>For a stage 2 fault, indicates whether the fault was a stage 2 fault on an access made for a stage 1 translation table walk:</para>
          </field_description>
          <field_description order="after">
            <para>For any abort other than a stage 2 fault this bit is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault not on a stage 2 translation for a stage 1 translation table walk.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault on the stage 2 translation of an access for a stage 1 translation table walk.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_16-6_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_16-5_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Instruction Fault Status Code.</para>
          </field_description>
          <field_description order="after"><para>All other values are reserved.</para>
<para>For more information about the lookup level associated with a fault, see <xref linkend="#MDSec.The_lookup_level_associated_with_MMU_faults">'The lookup level associated with MMU faults'</xref>.</para>
<para>If the S1PTW bit is set, then the level refers the level of the stage2 translation that is translating a stage 1 translation walk.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000000</field_value>
              <field_value_description>
                <para>Address size fault, level 0 of translation or translation table base register.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000001</field_value>
              <field_value_description>
                <para>Address size fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000010</field_value>
              <field_value_description>
                <para>Address size fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000011</field_value>
              <field_value_description>
                <para>Address size fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000100</field_value>
              <field_value_description>
                <para>Translation fault, level 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000101</field_value>
              <field_value_description>
                <para>Translation fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000110</field_value>
              <field_value_description>
                <para>Translation fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000111</field_value>
              <field_value_description>
                <para>Translation fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001001</field_value>
              <field_value_description>
                <para>Access flag fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001010</field_value>
              <field_value_description>
                <para>Access flag fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001011</field_value>
              <field_value_description>
                <para>Access flag fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001000</field_value>
              <field_value_description>
                <para>Access flag fault, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001100</field_value>
              <field_value_description>
                <para>Permission fault, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001101</field_value>
              <field_value_description>
                <para>Permission fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001110</field_value>
              <field_value_description>
                <para>Permission fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001111</field_value>
              <field_value_description>
                <para>Permission fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010000</field_value>
              <field_value_description>
                <para>Synchronous External abort, not on translation table walk or hardware update of translation table.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010010</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010011</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010100</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010101</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010110</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010111</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011000</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access, not on translation table walk.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011011</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented and FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011100</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011101</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011110</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011111</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100010</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented and FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100011</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented and FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100100</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100101</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100110</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100111</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101000</field_value>
              <field_value_description>
                <para>Granule Protection Fault, not on translation table walk or hardware update of translation table.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101001</field_value>
              <field_value_description>
                <para>Address size fault, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101010</field_value>
              <field_value_description>
                <para>Translation fault, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101011</field_value>
              <field_value_description>
                <para>Translation fault, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101100</field_value>
              <field_value_description>
                <para>Address Size fault, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110000</field_value>
              <field_value_description>
                <para>TLB conflict abort.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110001</field_value>
              <field_value_description>
                <para>Unsupported atomic hardware update fault.</para>
              </field_value_description>
              <field_value_condition>When FEAT_HAF is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_16-24_22" msb="24" lsb="22"/>
        <fieldat id="fieldset_0-24_0_16-21_21-1" msb="21" lsb="21"/>
        <fieldat id="fieldset_0-24_0_16-20_15" msb="20" lsb="15"/>
        <fieldat id="fieldset_0-24_0_16-14_14-1" msb="14" lsb="14"/>
        <fieldat id="fieldset_0-24_0_16-13_13" msb="13" lsb="13"/>
        <fieldat id="fieldset_0-24_0_16-12_11-1" msb="12" lsb="11"/>
        <fieldat id="fieldset_0-24_0_16-10_10-1" msb="10" lsb="10"/>
        <fieldat id="fieldset_0-24_0_16-9_9" msb="9" lsb="9"/>
        <fieldat id="fieldset_0-24_0_16-8_8" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-24_0_16-7_7" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-24_0_16-6_6" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-24_0_16-5_0" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_17" length="25">
        <fields_condition>When FEAT_SME is implemented</fields_condition>
        <fields_instance>an exception due to SME functionality</fields_instance>
        <text_before_fields><para>The accesses covered by this trap include:</para>
<list type="unordered">
<listitem><content>Execution of SME instructions.</content>
</listitem><listitem><content>Execution of SVE and Advanced SIMD instructions, when the PE is in Streaming SVE mode.</content>
</listitem><listitem><content>Direct accesses of <register_link state="AArch64" id="AArch64-svcr.xml">SVCR</register_link>, <register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link>, <register_link state="AArch64" id="AArch64-smcr_el2.xml">SMCR_EL2</register_link>, <register_link state="AArch64" id="AArch64-smcr_el3.xml">SMCR_EL3</register_link>.</content>
</listitem></list></text_before_fields>
        <field id="fieldset_0-24_0_17-24_3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>3</field_lsb>
          <rel_range>24:3</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_17-2_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>SMTC</field_name>
          <field_msb>2</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>2:0</rel_range>
          <field_description order="before">
            <para>SME Trap Code. Identifies the reason for instruction trapping.</para>
          </field_description>
          <field_description order="after">
            <para>All other values are reserved.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000</field_value>
              <field_value_description>
                <para>Access to SME functionality trapped as a result of <register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.SMEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.SMEN, <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TSM, or <register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.ESM, that is not reported using EC value <binarynumber>0b000000</binarynumber>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001</field_value>
              <field_value_description>
                <para>Advanced SIMD, SVE, or SVE2 instruction trapped because PSTATE.SM is 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010</field_value>
              <field_value_description>
                <para>SME instruction trapped because PSTATE.SM is 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011</field_value>
              <field_value_description>
                <para>SME instruction trapped because PSTATE.ZA is 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100</field_value>
              <field_value_description>
                <para>Access to the SME2 ZT0 register trapped as a result of <register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link>.EZT0, <register_link state="AArch64" id="AArch64-smcr_el2.xml">SMCR_EL2</register_link>.EZT0, or <register_link state="AArch64" id="AArch64-smcr_el3.xml">SMCR_EL3</register_link>.EZT0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SME2 is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
        </field>
        <text_after_fields><para>The following fields describe the configuration settings for the traps that are reported using the EC value <binarynumber>0b011101</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-cpacr_el1.xml">CPACR_EL1</register_link>.SMEN, for execution of SME instructions, SVE instructions when the PE is in Streaming SVE mode, and instructions that directly access <register_link state="AArch64" id="AArch64-svcr.xml">SVCR</register_link> and <register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link> System registers at EL1 and EL0, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.SMEN and <register_link state="AArch64" id="AArch64-cptr_el2.xml">CPTR_EL2</register_link>.TSM, for execution of SME instructions, SVE instructions when the PE is in Streaming SVE mode, and instructions that directly access <register_link state="AArch64" id="AArch64-svcr.xml">SVCR</register_link>, <register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link>, <register_link state="AArch64" id="AArch64-smcr_el2.xml">SMCR_EL2</register_link> at EL2, EL1, and EL0, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-cptr_el3.xml">CPTR_EL3</register_link>.ESM, for execution of SME instructions, SVE instructions when the PE is in Streaming SVE mode, and instructions that directly access <register_link state="AArch64" id="AArch64-svcr.xml">SVCR</register_link>, <register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link>, <register_link state="AArch64" id="AArch64-smcr_el2.xml">SMCR_EL2</register_link>, <register_link state="AArch64" id="AArch64-smcr_el3.xml">SMCR_EL3</register_link> from all Exception levels and any Security state, trapped to EL3.</content>
</listitem><listitem><content>If FEAT_SME2 is implemented:<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-smcr_el1.xml">SMCR_EL1</register_link>.EZT0, for accesses to ZT0 at EL1 and EL0, trapped to EL2 or EL1.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-smcr_el2.xml">SMCR_EL2</register_link>.EZT0, for accesses to ZT0 at EL2, EL1, and EL0, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-smcr_el3.xml">SMCR_EL3</register_link>.EZT0, for accesses to ZT0 at any Exception level, trapped to EL3.</content>
</listitem></list>
</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_SME is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_17-24_3" msb="24" lsb="3"/>
        <fieldat id="fieldset_0-24_0_17-2_0" msb="2" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_18" length="25">
        <fields_condition/>
        <fields_instance>an exception from a Data Abort</fields_instance>
        <text_before_fields><para>The ISS2 encoding for an exception from a Data Abort includes further information about the exception when any of the following features are implemented:</para>
<list type="unordered">
<listitem><content>
<para><xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_THE">FEAT_THE</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref filename="A_armv8_architecture_extensions.fm" linkend="FEAT_S1POE or FEAT_S2POE">FEAT_S1POE or FEAT_S2POE</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref filename="A_armv8_architecture_extensions.fm" linkend="FEAT_S1PIE or FEAT_S2PIE">FEAT_S1PIE or FEAT_S2PIE</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_GCS">FEAT_GCS</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_MTE_CANONICAL_TAGS">FEAT_MTE_CANONICAL_TAGS</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_MTE_PERM">FEAT_MTE_PERM</xref>.</para>
</content>
</listitem><listitem><content>
<para><xref linkend="#FEAT_HDBSS">FEAT_HDBSS</xref>.</para>
</content>
</listitem></list></text_before_fields>
        <field id="fieldset_0-24_0_18-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ISV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Instruction Syndrome Valid. Indicates whether the syndrome information in ISS[23:14] represents the instruction syndrome fields {SAS, SSE, SRT, SF, AR}.</para>
          </field_description>
          <field_description order="after"><para>The ISV field is only relevant for the following instructions:</para>
<list type="unordered">
<listitem><content>An AArch64 load or store of a single general-purpose register (including the register specified with <binarynumber>0b11111</binarynumber>, including those with Acquire/Release semantics, but excluding Load Exclusive or Store Exclusive and excluding those with writeback).</content>
</listitem><listitem><content>An AArch32 instruction LDR, LDA, LDRT, LDRSH, LDRSHT, LDRH, LDAH, LDRHT, LDRSB, LDRSBT, LDRB, LDAB, LDRBT, STR, STL, STRT, STRH, STLH, STRHT, STRB, STLB, or STRBT, where both of the following apply:<list type="unordered">
<listitem><content>It is not performing register writeback.</content>
</listitem><listitem><content>It is not using R15 as a source or destination register.</content>
</listitem></list>
</content>
</listitem><listitem><content>If <xref linkend="#FEAT_LS64">FEAT_LS64</xref> is implemented, an LD64B or ST64B instruction.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, an ST64BV instruction.</content>
</listitem><listitem><content>If <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, an ST64BV0 instruction.</content>
</listitem></list>
<para>The ISV field is 1 if all of the following apply:</para>
<list type="unordered">
<listitem><content>The fault was not a stage 2 fault on a stage 1 translation table walk.</content>
</listitem><listitem><content>If FEAT_RAS is implemented, the fault was not any kind of synchronous External abort.</content>
</listitem><listitem><content>Any of the following apply:<list type="unordered">
<listitem><content>The fault was generated by one of the described AArch64 load or store instructions that transfer a single general-purpose register, and any of the following apply:<list type="unordered">
<listitem><content>The fault was a stage 2 fault.</content>
</listitem></list>
</content>
</listitem><listitem><content>The fault was generated by one of the described AArch32 instructions and any of the following apply:<list type="unordered">
<listitem><content>The fault was a stage 2 fault.</content>
</listitem></list>
</content>
</listitem><listitem><content>The fault was generated by one of the <xref linkend="#FEAT_LS64">FEAT_LS64</xref>, <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> or <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> instructions and the fault was a Translation fault, Access flag fault or Permission fault.</content>
</listitem></list>
</content>
</listitem><listitem><content>One of the following applies:<list type="unordered">
<listitem><content>The address reported in <register_link state="AArch64" id="AArch64-far_el2.xml">FAR_EL2</register_link> is the lowest address accessed by the instruction.</content>
</listitem><listitem><content>The address reported in <register_link state="AArch64" id="AArch64-far_el2.xml">FAR_EL2</register_link> is not the lowest address accessed by the instruction, and the implementation reports ISV as 1 in this case. Arm recommends against this behavior.</content>
</listitem></list>
</content>
</listitem></list>
<para>Otherwise the value of this field is 0.</para>
<note><para>The value of this field is 0 if any of the following apply:</para><list type="unordered"><listitem><content><xref linkend="#FEAT_MOPS">FEAT_MOPS</xref> is implemented and the fault was for a memory access generated by a Memory Copy and Memory Set instruction.</content></listitem><listitem><content><xref linkend="#FEAT_MTE">FEAT_MTE</xref> is implemented and the fault was for a direct access to Allocation Tags.</content></listitem><listitem><content><xref linkend="#FEAT_GCS">FEAT_GCS</xref> is implemented and the fault was for a Guarded control stack data access.</content></listitem><listitem><content><xref linkend="#FEAT_NV2">FEAT_NV2</xref> is implemented and the fault was for a system register access that was transformed to a load or store relative to <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link>.</content></listitem><listitem><content><xref linkend="#FEAT_LSE">FEAT_LSE</xref> is implemented and the fault was for an atomic instruction.</content></listitem></list><para>The value of this field is <arm-defined-word>UNKNOWN</arm-defined-word> when the following occurs:</para><list type="unordered"><listitem><content>Stage 2 faults when the exception was generated in Debug state, in memory access mode.</content></listitem></list><para>When FEAT_RAS is not implemented, it is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether ISV is set to 1 or 0 on a synchronous External abort on a stage 2 translation table walk.</para></note></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>No valid instruction syndrome. ISS[23:14] do not represent an instruction syndrome.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>ISS[23:14] hold a valid instruction syndrome.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-23_22-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>SAS</field_name>
          <field_msb>23</field_msb>
          <field_lsb>22</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Syndrome Access Size. Indicates the size of the access attempted by the faulting operation.</para>
          </field_description>
          <field_description order="after"><para>When <xref linkend="#FEAT_LS64">FEAT_LS64</xref> is implemented, if a memory access generated by an LD64B or ST64B instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is <binarynumber>0b11</binarynumber>.</para>
<para>When <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, if a memory access generated by an ST64BV instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is <binarynumber>0b11</binarynumber>.</para>
<para>When <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, if a memory access generated by an ST64BV0 instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is <binarynumber>0b11</binarynumber>.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> when the value of ISV is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Byte</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01</field_value>
              <field_value_description>
                <para>Halfword</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>Word</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Doubleword</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '1'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-23_22-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>22</field_lsb>
          <rel_range>23:22</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-21_21-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>SSE</field_name>
          <field_msb>21</field_msb>
          <field_lsb>21</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Syndrome Sign Extend. For a byte, halfword, or word load operation, indicates whether the data item must be sign extended.</para>
          </field_description>
          <field_description order="after"><para>When <xref linkend="#FEAT_LS64">FEAT_LS64</xref> is implemented, if a memory access generated by an LD64B or ST64B instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>When <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, if a memory access generated by an ST64BV instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>When <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, if a memory access generated by an ST64BV0 instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>For all other operations, this field is 0.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> when the value of ISV is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Sign-extension not required.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Data item must be sign-extended.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '1'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-21_21-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>TopLevel</field_name>
          <field_msb>21</field_msb>
          <field_lsb>21</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates if the fault was due to TopLevel.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault is not due to TopLevel.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault is due to TopLevel.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '0' and FEAT_THE is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-21_21-3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>21</field_msb>
          <field_lsb>21</field_lsb>
          <rel_range>21</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-20_16-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>SRT</field_name>
          <field_msb>20</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before"/>
          <field_description order="after"><para>Syndrome Register Transfer. The register number of the Wt/Xt/Rt operand of the faulting instruction.</para>
<para>If the exception was taken from an Exception level that is using AArch32, then this is the AArch64 view of the register. See <xref linkend="#BEIDFCCE">'Mapping of the general-purpose registers between the Execution states'</xref>.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> when the value of ISV is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '1'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-20_18-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="True" is_conditional_field_name="True" rwtype="RES0" reserved_type="RES0">
          <field_msb>20</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>4:2</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>When ISV == '0', FEAT_RASv2 is implemented, and GetESR_ELx_DFSC(EL2) IN {'010000', '01001x', '0101xx'}</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-17_16-3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>WU</field_name>
          <field_msb>20</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Write Update. Describes whether a store instruction that generated an External abort updated the location.</para>
          </field_description>
          <field_description order="after">
            <para>In the description of this field, a store instruction is any memory-writing instruction that explicitly performs a store. This includes instructions that both read and write memory.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Not a store instruction or translation table update, or the location might have been updated.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>Store instruction or translation table update that did not update the location.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Store instruction or translation table update that updated the location.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '0', FEAT_RASv2 is implemented, and GetESR_ELx_DFSC(EL2) IN {'010000', '01001x', '0101xx'}</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-20_16-4" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>20</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>20:16</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-15_15-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>SF</field_name>
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Sixty Four bit general-purpose register transfer. Width of the register accessed by the instruction is 64-bit.</para>
          </field_description>
          <field_description order="after"><note><para>This field specifies the register width identified by the instruction, not the Execution state.</para></note><para>When <xref linkend="#FEAT_LS64">FEAT_LS64</xref> is implemented, if a memory access generated by an LD64B or ST64B instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 1.</para>
<para>When <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, if a memory access generated by an ST64BV instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 1.</para>
<para>When <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, if a memory access generated by an ST64BV0 instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 1.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> when the value of ISV is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Instruction loads/stores a 32-bit general-purpose register.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Instruction loads/stores a 64-bit general-purpose register.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '1'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-15_15-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>FnP</field_name>
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>FAR not Precise.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The FAR holds the faulting virtual address that generated the Data Abort.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description><para>The FAR holds any virtual address within the naturally-aligned granule that contains the faulting virtual address that generated a Data Abort due to an SVE contiguous vector load/store
instruction, or an SME load/store instruction.</para>
<para>For more information about the naturally-aligned fault granule, see FAR_ELx (for example, <register_link state="AArch64" id="AArch64-far_el1.xml">FAR_EL1</register_link>).</para></field_value_description>
              <field_value_condition>When FEAT_SME is implemented or FEAT_SVE is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-14_14-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>AR</field_name>
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Acquire/Release.</para>
          </field_description>
          <field_description order="after"><para>When <xref linkend="#FEAT_LS64">FEAT_LS64</xref> is implemented, if a memory access generated by an LD64B or ST64B instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>When <xref linkend="#FEAT_LS64_V">FEAT_LS64_V</xref> is implemented, if a memory access generated by an ST64BV instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>When <xref linkend="#FEAT_LS64_ACCDATA">FEAT_LS64_ACCDATA</xref> is implemented, if a memory access generated by an ST64BV0 instruction generates a Data Abort for a Translation fault, Access flag fault, or Permission fault, then this field is 0.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> when the value of ISV is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
<para>For a load-acquire instruction that does not have acquire semantics as the result of the destination register being ZR, it is <arm-defined-word>IMPLEMENTATION SPECIFIC</arm-defined-word> whether this field is reported as 0 or 1.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Instruction did not have acquire/release semantics.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Instruction did have acquire/release semantics.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When ISV == '1'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-14_14-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>PFV</field_name>
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>PFAR Valid. Describes whether the PFAR_EL2 register is valid.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>PFAR_EL2 is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>PFAR_EL2 is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_PFAR is implemented, ISV == '0', and GetESR_ELx_DFSC(EL2) IN {'010000', '01001x', '0101xx'}</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-14_14-3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>14</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-13_13" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>VNCR</field_name>
          <field_msb>13</field_msb>
          <field_lsb>13</field_lsb>
          <rel_range>13</rel_range>
          <field_description order="before">
            <para>Indicates that the fault came from use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> register by EL1 code.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The fault was not generated by the use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> by EL1 code.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The fault was generated by the use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> by EL1 code.</para>
              </field_value_description>
              <field_value_condition>When FEAT_NV2 is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-12_11-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>LST</field_name>
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Load/Store Type. Used when a Translation fault, Access flag fault, or Permission fault generates a Data Abort reported with ISV=1.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>The instruction that generated the Data Abort is not specified by this field.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01</field_value>
              <field_value_description>
                <para>An ST64BV instruction generated the Data Abort.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64_V is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>An LD64B or ST64B instruction generated the Data Abort.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>An ST64BV0 instruction generated the Data Abort.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LS64_ACCDATA is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_DFSC(EL2) IN {'00xxxx', '10101x', '0000xx'}</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-12_11-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>SET</field_name>
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Synchronous Error Type. Used when a synchronous External abort, not on a Translation table walk or hardware update of the Translation table, generated the Data Abort. Describes the PE error state after taking the Data Abort exception.</para>
          </field_description>
          <field_description order="after">
            <note>
              <para>Software can use this information to determine what recovery might be possible. Taking a synchronous External abort exception might result in a PE state that is not recoverable.</para>
            </note>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Recoverable state (UER).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description><para>Uncontainable (UC).</para>
<para>If FEAT_RASv2 is implemented, this value is reserved.</para></field_value_description>
              <field_value_condition>When FEAT_RASv2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Restartable state (UEO).</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RAS is implemented and GetESR_ELx_DFSC(EL2) == '010000'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-12_11-3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>12:11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_18-10_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FnV</field_name>
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>10</rel_range>
          <field_description order="before">
            <para>FAR not Valid, for a synchronous External abort other than a synchronous External abort on a translation table walk.</para>
          </field_description>
          <field_description order="after">
            <para>This field is valid only if the DFSC code is <binarynumber>0b010000</binarynumber>. It is <arm-defined-word>RES0</arm-defined-word> for all other aborts.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>FAR is valid.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>FAR is not valid, and holds an <arm-defined-word>UNKNOWN</arm-defined-word> value.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-9_9" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>EA</field_name>
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>9</rel_range>
          <field_description order="before"><para>External abort type. This bit can provide an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> classification of External aborts.</para>
<para>For any abort other than an External abort this bit returns a value of 0.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-8_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CM</field_name>
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before">
            <para>Cache maintenance. Indicates whether the Data Abort came from a cache maintenance or address translation instruction:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Data Abort was not generated by the execution of one of the System instructions identified in the description of value 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Data Abort was generated by either the execution of a cache maintenance instruction or by a synchronous fault on the execution of an address translation instruction. The <register_link id="AArch64-dc-zva.xml" state="AArch64">DC ZVA</register_link>, <register_link id="AArch64-dc-gva.xml" state="AArch64">DC GVA</register_link>, and <register_link id="AArch64-dc-gzva.xml" state="AArch64">DC GZVA</register_link> instructions are not classified as cache maintenance instructions, and therefore their execution cannot cause this field to be set to 1.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-7_7" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>S1PTW</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before">
            <para>For a stage 2 fault, indicates whether the fault was a stage 2 fault on an access made for a stage 1 translation table walk:</para>
          </field_description>
          <field_description order="after">
            <para>For any abort other than a stage 2 fault this bit is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Fault not on a stage 2 translation for a stage 1 translation table walk.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Fault on the stage 2 translation of an access for a stage 1 translation table walk.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-6_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>WnR</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before">
            <para>Write not Read. Indicates whether a synchronous abort was caused by an instruction writing to a memory location, or by an instruction reading from a memory location.</para>
          </field_description>
          <field_description order="after"><para>For faults on cache maintenance and address translation instructions, this bit always returns a value of 1.</para>
<para>For faults from an atomic instruction that both reads and writes from a memory location, this bit is set to 0 if a read of the address specified by the instruction would have generated the fault which is being reported, otherwise it is set to 1. The architecture permits, but does not require, a relaxation of this requirement such that for all stage 2 aborts on stage 1 translation table walks for atomic instructions, the WnR bit is always 0.</para>
<para>This field is <arm-defined-word>UNKNOWN</arm-defined-word> for:</para>
<list type="unordered">
<listitem><content>If FEAT_RASv2 is implemented, an External abort on an Atomic access, reported with ESR_EL2.WU set to <binarynumber>0b00</binarynumber>.</content>
</listitem><listitem><content>A fault reported using a DFSC value of <binarynumber>0b110101</binarynumber>, indicating an unsupported Exclusive or atomic access.</content>
</listitem><listitem><content>A fault reported using a DFSC value of <binarynumber>0b110001</binarynumber>, indicating an unsupported atomic hardware update fault.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Abort caused by an instruction reading from a memory location.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Abort caused by an instruction writing to a memory location.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_18-5_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>DFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Data Fault Status Code.</para>
          </field_description>
          <field_description order="after"><para>All other values are reserved.</para>
<para>For more information about the lookup level associated with a fault, see <xref linkend="#MDSec.The_lookup_level_associated_with_MMU_faults">'The lookup level associated with MMU faults'</xref>.</para>
<para>If the S1PTW bit is set, then the level refers the level of the stage2 translation that is translating a stage 1 translation walk.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000000</field_value>
              <field_value_description>
                <para>Address size fault, level 0 of translation or translation table base register.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000001</field_value>
              <field_value_description>
                <para>Address size fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000010</field_value>
              <field_value_description>
                <para>Address size fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000011</field_value>
              <field_value_description>
                <para>Address size fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000100</field_value>
              <field_value_description>
                <para>Translation fault, level 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000101</field_value>
              <field_value_description>
                <para>Translation fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000110</field_value>
              <field_value_description>
                <para>Translation fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b000111</field_value>
              <field_value_description>
                <para>Translation fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001001</field_value>
              <field_value_description>
                <para>Access flag fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001010</field_value>
              <field_value_description>
                <para>Access flag fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001011</field_value>
              <field_value_description>
                <para>Access flag fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001000</field_value>
              <field_value_description>
                <para>Access flag fault, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001100</field_value>
              <field_value_description>
                <para>Permission fault, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001101</field_value>
              <field_value_description>
                <para>Permission fault, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001110</field_value>
              <field_value_description>
                <para>Permission fault, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001111</field_value>
              <field_value_description>
                <para>Permission fault, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010000</field_value>
              <field_value_description>
                <para>Synchronous External abort, not on translation table walk or hardware update of translation table.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010001</field_value>
              <field_value_description>
                <para>Synchronous Tag Check Fault.</para>
              </field_value_description>
              <field_value_condition>When FEAT_MTE2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010010</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010011</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010100</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010101</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010110</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010111</field_value>
              <field_value_description>
                <para>Synchronous External abort on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011000</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access, not on translation table walk.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011011</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented and FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011100</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011101</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011110</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011111</field_value>
              <field_value_description>
                <para>Synchronous parity or ECC error on memory access on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RAS is not implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100001</field_value>
              <field_value_description>
                <para>Alignment fault.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100010</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented and FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100011</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented and FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100100</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 0.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100101</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100110</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b100111</field_value>
              <field_value_description>
                <para>Granule Protection Fault on translation table walk or hardware update of translation table, level 3.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101000</field_value>
              <field_value_description>
                <para>Granule Protection Fault, not on translation table walk or hardware update of translation table.</para>
              </field_value_description>
              <field_value_condition>When FEAT_RME is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101001</field_value>
              <field_value_description>
                <para>Address size fault, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101010</field_value>
              <field_value_description>
                <para>Translation fault, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101011</field_value>
              <field_value_description>
                <para>Translation fault, level -1.</para>
              </field_value_description>
              <field_value_condition>When FEAT_LPA2 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b101100</field_value>
              <field_value_description>
                <para>Address Size fault, level -2.</para>
              </field_value_description>
              <field_value_condition>When FEAT_D128 is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110000</field_value>
              <field_value_description>
                <para>TLB conflict abort.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110001</field_value>
              <field_value_description>
                <para>Unsupported atomic hardware update fault.</para>
              </field_value_description>
              <field_value_condition>When FEAT_HAF is implemented</field_value_condition>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110100</field_value>
              <field_value_description>
                <para><arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> fault (Lockdown).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110101</field_value>
              <field_value_description>
                <para><arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> fault (Unsupported Exclusive or Atomic access).</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_18-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_18-23_22-1" msb="23" lsb="22"/>
        <fieldat id="fieldset_0-24_0_18-21_21-1" label="Bit[21]" msb="21" lsb="21"/>
        <fieldat id="fieldset_0-24_0_18-20_16-1" label="Bits[20:16]" msb="20" lsb="16"/>
        <fieldat id="fieldset_0-24_0_18-15_15-1" label="Bit[15]" msb="15" lsb="15"/>
        <fieldat id="fieldset_0-24_0_18-14_14-1" label="Bit[14]" msb="14" lsb="14"/>
        <fieldat id="fieldset_0-24_0_18-13_13" msb="13" lsb="13"/>
        <fieldat id="fieldset_0-24_0_18-12_11-1" label="Bits[12:11]" msb="12" lsb="11"/>
        <fieldat id="fieldset_0-24_0_18-10_10" msb="10" lsb="10"/>
        <fieldat id="fieldset_0-24_0_18-9_9" msb="9" lsb="9"/>
        <fieldat id="fieldset_0-24_0_18-8_8" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-24_0_18-7_7" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-24_0_18-6_6" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-24_0_18-5_0" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_19" length="25">
        <fields_condition/>
        <fields_instance>an exception from a trapped floating-point exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_19-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_19-23_23" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>TFV</field_name>
          <field_msb>23</field_msb>
          <field_lsb>23</field_lsb>
          <rel_range>23</rel_range>
          <field_description order="before">
            <para>Trapped Fault Valid bit. Indicates whether the IDF, IXF, UFF, OFF, DZF, and IOF bits hold valid information about trapped floating-point exceptions.</para>
          </field_description>
          <field_description order="after"><para>It is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> whether this field is set to 0 on an exception generated by a trapped floating-point exception from an instruction that is performing floating-point operations on more than one lane of a vector.</para>
<note><para>This is not a requirement. Implementations can set this field to 1 on a trapped floating-point exception from an instruction and return valid information in the {IDF, IXF, UFF, OFF, DZF, IOF} fields.</para></note></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The IDF, IXF, UFF, OFF, DZF, and IOF bits do not hold valid information about trapped floating-point exceptions and are <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>One or more floating-point exceptions occurred during an operation performed while executing the reported instruction. The IDF, IXF, UFF, OFF, DZF, and IOF bits indicate trapped floating-point exceptions that occurred. For more information, see <xref linkend="#BEIJDDAG">'Floating-point exceptions and exception traps'</xref>.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-22_11" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>22</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>22:11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_19-10_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>VECITR</field_name>
          <field_msb>10</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>10:8</rel_range>
          <field_description order="before"><para>For a trapped floating-point exception from an instruction executed in AArch32 state this field is <arm-defined-word>RES1</arm-defined-word>.</para>
<para>For a trapped floating-point exception from an instruction executed in AArch64 state this field is <arm-defined-word>UNKNOWN</arm-defined-word>.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-7_7" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IDF</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before">
            <para>Input Denormal floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Input denormal floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Input denormal floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-6_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>6</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>6:5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_19-4_4" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IXF</field_name>
          <field_msb>4</field_msb>
          <field_lsb>4</field_lsb>
          <rel_range>4</rel_range>
          <field_description order="before">
            <para>Inexact floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Inexact floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Inexact floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-3_3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>UFF</field_name>
          <field_msb>3</field_msb>
          <field_lsb>3</field_lsb>
          <rel_range>3</rel_range>
          <field_description order="before">
            <para>Underflow floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Underflow floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Underflow floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-2_2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>OFF</field_name>
          <field_msb>2</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>2</rel_range>
          <field_description order="before">
            <para>Overflow floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Overflow floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Overflow floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-1_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>DZF</field_name>
          <field_msb>1</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>1</rel_range>
          <field_description order="before">
            <para>Divide by Zero floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Divide by Zero floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Divide by Zero floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_19-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IOF</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Invalid Operation floating-point exception trapped bit. If the TFV field is 0, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>. Otherwise, the possible values of this bit are:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Invalid Operation floating-point exception has not occurred.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Invalid Operation floating-point exception occurred during execution of the reported instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>In an implementation that supports the trapping of floating-point exceptions:</para>
<list type="unordered">
<listitem><content>From an Exception level using AArch64, the <register_link state="AArch64" id="AArch64-fpcr.xml">FPCR</register_link>.{IDE, IXE, UFE, OFE, DZE, IOE} bits enable each of the floating-point exception traps.</content>
</listitem><listitem><content>From an Exception level using AArch32, the <register_link state="AArch32" id="AArch32-fpscr.xml">FPSCR</register_link>.{IDE, IXE, UFE, OFE, DZE, IOE} bits enable each of the floating-point exception traps.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_19-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_19-23_23" msb="23" lsb="23"/>
        <fieldat id="fieldset_0-24_0_19-22_11" msb="22" lsb="11"/>
        <fieldat id="fieldset_0-24_0_19-10_8" msb="10" lsb="8"/>
        <fieldat id="fieldset_0-24_0_19-7_7" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-24_0_19-6_5" msb="6" lsb="5"/>
        <fieldat id="fieldset_0-24_0_19-4_4" msb="4" lsb="4"/>
        <fieldat id="fieldset_0-24_0_19-3_3" msb="3" lsb="3"/>
        <fieldat id="fieldset_0-24_0_19-2_2" msb="2" lsb="2"/>
        <fieldat id="fieldset_0-24_0_19-1_1" msb="1" lsb="1"/>
        <fieldat id="fieldset_0-24_0_19-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_20" length="25">
        <fields_condition>When FEAT_GCS is implemented</fields_condition>
        <fields_instance>a GCS exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_20-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_20-23_20" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ExType</field_name>
          <field_msb>23</field_msb>
          <field_lsb>20</field_lsb>
          <rel_range>23:20</rel_range>
          <field_description order="before">
            <para>The first level classification of GCS exceptions.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0000</field_value>
              <field_value_description>
                <para>The exception reported is a Guarded Control Stack Data Check Exception.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0001</field_value>
              <field_value_description>
                <para>The exception reported is an EXLOCK Exception.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b0010</field_value>
              <field_value_description>
                <para>The exception reported is a trap exception on GCSSTR or GCSSTTR instruction execution.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_20-19_15" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>19</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>19:15</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_20-14_10-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>Raddr</field_name>
          <field_msb>14</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>Indicates the data address register number supplied in the instruction that has been trapped.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_ExType(EL2) == '0010'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-14_10-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>14</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>14:10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-9_5-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>Rn</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>Indicates a register number used by the instruction that caused the Guarded Control Stack Data Check Exception.</para>
          </field_description>
          <field_description order="after"><para>For a procedure return instruction reported with ESR_EL2.ISS.IT as <binarynumber>0b00000</binarynumber>, contains the register number for the register which contains the target address of the branch.</para>
<para>For a GCSPOPM instruction reported with ESR_EL2.ISS.IT as <binarynumber>0b00001</binarynumber>, contains the register number for the register which is the destination register of the instruction.</para>
<para>For a procedure return instruction reported with ESR_EL2.ISS.IT as <binarynumber>0b00010</binarynumber> or <binarynumber>0b00011</binarynumber>, contains the value <binarynumber>0b11110</binarynumber>, indicating X30.</para>
<para>For a GCSSS1 instruction reported with ESR_EL2.ISS.IT as <binarynumber>0b00100</binarynumber>, contains the register number for the register which is the input register of the instruction.</para>
<para>If ESR_EL2.ISS.IT is reported as <binarynumber>0b00101</binarynumber> or <binarynumber>0b01000</binarynumber>, this field is <arm-defined-word>UNKNOWN</arm-defined-word> </para>
<para>If ESR_EL2.ISS.IT is reported as <binarynumber>0b01001</binarynumber>, this field is <binarynumber>0b11111</binarynumber></para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_ExType(EL2) == '0000'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-9_5-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="True" reserved_type="RES0">
          <field_name>Rvalue</field_name>
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>Indicates the data value register number supplied in the instruction that has been trapped.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_ExType(EL2) == '0010'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-9_5-3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>9</field_msb>
          <field_lsb>5</field_lsb>
          <rel_range>9:5</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-4_0-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>IT</field_name>
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before">
            <para>Type of the instruction that caused the Guarded Control Stack Data Check Exception.</para>
          </field_description>
          <field_description order="after">
            <para>All other values are reserved</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00000</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a procedure return instruction without Pointer authentication.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00001</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a GCSPOPM instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00010</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a procedure return instruction with Pointer authentication that uses key A.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00011</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a procedure return instruction with Pointer authentication that uses key B.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00100</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a GCSSS1 instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b00101</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a GCSSS2 instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01000</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a GCSPOPCX instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b01001</field_value>
              <field_value_description>
                <para>Guarded Control Stack Data Check Exception is from a GCSPOPX instruction.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When GetESR_ELx_ExType(EL2) == '0000'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_20-4_0-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>4</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>4:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <text_after_fields><para>The following fields describe the configuration settings for the traps that are reported using EC value <binarynumber>0b101101</binarynumber> and ExType value <binarynumber>0b0010</binarynumber>:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-gcscre0_el1.xml">GCSCRE0_EL1</register_link>.STREn</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-gcscr_el1.xml">GCSCR_EL1</register_link>.STREn.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-gcscr_el2.xml">GCSCR_EL2</register_link>.STREn.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-gcscr_el3.xml">GCSCR_EL3</register_link>.STREn.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-hfgitr_el2.xml">HFGITR_EL2</register_link>.nGCSSTR_EL1.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_GCS is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_20-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_20-23_20" msb="23" lsb="20"/>
        <fieldat id="fieldset_0-24_0_20-19_15" msb="19" lsb="15"/>
        <fieldat id="fieldset_0-24_0_20-14_10-1" msb="14" lsb="10"/>
        <fieldat id="fieldset_0-24_0_20-9_5-1" label="Bits[9:5]" msb="9" lsb="5"/>
        <fieldat id="fieldset_0-24_0_20-4_0-1" msb="4" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_21" length="25">
        <fields_condition/>
        <fields_instance>an SError exception</fields_instance>
        <text_before_fields>
          <note>
            <para>In earlier versions of the architecture, an SError exception is referred to as an SError interrupt or an asynchronous External abort exception.</para>
          </note>
        </text_before_fields>
        <field id="fieldset_0-24_0_21-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IDS</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para><arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> syndrome.</para>
          </field_description>
          <field_description order="after">
            <note>
              <para>This field was previously called ISV.</para>
            </note>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description><para>Bits [23:0] of the ISS field holds the fields described in this encoding.</para>
<note><para>If FEAT_RAS is not implemented, bits [23:0] of the ISS field are <arm-defined-word>RES0</arm-defined-word>.</para></note></field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Bits [23:0] of the ISS field holds <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> syndrome information that can be used to provide additional information about the SError exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_21-23_19" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>19</field_lsb>
          <rel_range>23:19</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_21-18_18-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>ELS</field_name>
          <field_msb>18</field_msb>
          <field_lsb>18</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Meaning of ELR_ELx.</para>
          </field_description>
          <field_description order="after"><para>SError exceptions that report this field is 1 are not required to be precise.</para>
<para>The ESR_EL2.AET field describes whether the exception is precise or imprecise.</para>
<para>Corrected, Recoverable or Restartable exceptions are precise. Unrecoverable or Uncontainable exceptions are imprecise.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Asynchronous. Does not indicate the trigger for the exception.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Synchronous. The exception was triggered by the instruction at ELR_ELx.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RASv2 is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-18_18-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>18</field_msb>
          <field_lsb>18</field_lsb>
          <rel_range>18</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-17_16-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>WU</field_name>
          <field_msb>17</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>Write Update. Describes whether a store instruction that generated an External abort updated the location.</para>
          </field_description>
          <field_description order="after">
            <para>In the description of this field, a store instruction is any memory-writing instruction that explicitly performs a store. This includes instructions that both read and write memory.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b00</field_value>
              <field_value_description>
                <para>Not a store instruction or translation table update, or the location might have been updated.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b10</field_value>
              <field_value_description>
                <para>Store instruction or translation table update that did not update the location.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b11</field_value>
              <field_value_description>
                <para>Store instruction or translation table update that updated the location.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RASv2 is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-17_16-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>17</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>17:16</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-15_15-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>VFV</field_name>
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>FAR Valid. Indicates the FAR_EL2 register contains a valid virtual address.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>FAR_EL2 is not valid, and holds an <arm-defined-word>UNKNOWN</arm-defined-word> value.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>FAR_EL2 contains a valid virtual address associated with the error.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RASv2 is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-15_15-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>15</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-14_14-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>PFV</field_name>
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>PFAR Valid. Describes whether the PFAR_EL2 register is valid.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>PFAR_EL2 is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>PFAR_EL2 is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_PFAR is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-14_14-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>14</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-13_13-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>IESB</field_name>
          <field_msb>13</field_msb>
          <field_lsb>13</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Implicit error synchronization event.</para>
          </field_description>
          <field_description order="after"><para>This field is set to 1 when the SError exception was synchronized by an implicit error synchronization event and taken immediately on exception entry.</para>
<para>It this field is set to an <arm-defined-word>IMPLEMENTATION SPECIFIC</arm-defined-word> choice of 0 or 1 when the SError exception was synchronized by an implicit error synchronization event and taken immediately on an exception return.</para>
<para>For all other SError exceptions, this field is set to 0.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The SError exception was either not synchronized by the implicit error synchronization event or not taken immediately.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The SError exception was synchronized by the implicit error synchronization event and taken immediately.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_IESB is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-13_13-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>13</field_msb>
          <field_lsb>13</field_lsb>
          <rel_range>13</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-12_10-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>AET</field_name>
          <field_msb>12</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>2:0</rel_range>
          <field_description order="before"><para>Asynchronous Error Type.</para>
<para>Describes the PE error state after taking the SError exception.</para></field_description>
          <field_description order="after"><para>All other values are reserved.</para>
<para>If multiple errors are taken as a single SError exception, the overall PE error state is reported.</para>
<note><para>Software can use this information to determine what recovery might be possible. The recovery software must also examine any implemented fault records to determine the location and extent of the error.</para></note></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000</field_value>
              <field_value_description>
                <para>Uncontainable (UC).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b001</field_value>
              <field_value_description>
                <para>Unrecoverable state (UEU).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010</field_value>
              <field_value_description>
                <para>Restartable state (UEO).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b011</field_value>
              <field_value_description>
                <para>Recoverable state (UER).</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b110</field_value>
              <field_value_description>
                <para>Corrected (CE).</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RAS is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-12_10-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>12</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>12:10</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-9_9-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>EA</field_name>
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>External abort type. Provides an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> classification of External aborts.</para>
          </field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RAS is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-9_9-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>9</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-8_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_21-7_7-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>WnRV</field_name>
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>ESR_EL2.WnR valid.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>ESR_EL2.WnR is not valid and has been set to 0.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>ESR_EL2.WnR is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RASv2 is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-7_7-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-6_6-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>WnR</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Write-not-Read. When the WnRV field is 1, indicates whether an exception was caused by an instruction writing to a memory location, or by an instruction reading from a memory location.</para>
          </field_description>
          <field_description order="after"><para>Accessing this bit has the following behavior:</para>
<list type="unordered">
<listitem><content>This bit is <arm-defined-word>RES0</arm-defined-word> if ESR_EL2.WnRV is 0.</content>
</listitem><listitem><content>This bit is not valid and reads <arm-defined-word>UNKNOWN</arm-defined-word> if an External abort on a Atomic access, reported with ESR_EL2.WU == <binarynumber>0b00</binarynumber>.</content>
</listitem><listitem><content>Otherwise RW.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Exception was caused by an instruction reading from a memory location.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Exception was caused by an instruction writing to a memory location.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RASv2 is implemented and GetESR_ELx_DFSC(EL2) == '010001'</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-6_6-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-5_0-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>DFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Data Fault Status Code.</para>
          </field_description>
          <field_description order="after">
            <para>All other values are reserved.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b000000</field_value>
              <field_value_description>
                <para>Uncategorized error.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b010001</field_value>
              <field_value_description>
                <para>Asynchronous SError exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
          <fields_condition>When FEAT_RAS is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_21-5_0-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <text_after_fields/>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_21-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_21-23_19" msb="23" lsb="19"/>
        <fieldat id="fieldset_0-24_0_21-18_18-1" msb="18" lsb="18"/>
        <fieldat id="fieldset_0-24_0_21-17_16-1" msb="17" lsb="16"/>
        <fieldat id="fieldset_0-24_0_21-15_15-1" msb="15" lsb="15"/>
        <fieldat id="fieldset_0-24_0_21-14_14-1" msb="14" lsb="14"/>
        <fieldat id="fieldset_0-24_0_21-13_13-1" msb="13" lsb="13"/>
        <fieldat id="fieldset_0-24_0_21-12_10-1" msb="12" lsb="10"/>
        <fieldat id="fieldset_0-24_0_21-9_9-1" msb="9" lsb="9"/>
        <fieldat id="fieldset_0-24_0_21-8_8" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-24_0_21-7_7-1" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-24_0_21-6_6-1" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-24_0_21-5_0-1" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_22" length="25">
        <fields_condition/>
        <fields_instance>an exception from a Breakpoint or Vector Catch debug exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_22-24_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>24:6</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_22-5_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Instruction Fault Status Code.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b100010</field_value>
              <field_value_description>
                <para>Debug exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>For more information about generating these exceptions:</para>
<list type="unordered">
<listitem><content>For exceptions from AArch64, see <xref linkend="#BCGGEABJ">'Breakpoint exceptions'</xref>.</content>
</listitem><listitem><content>For exceptions from AArch32, see <xref linkend="#BGBDJAJB">'Breakpoint exceptions'</xref> and <xref linkend="#G2BCGJGBCC">'Vector Catch exceptions'</xref>.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_22-24_6" msb="24" lsb="6"/>
        <fieldat id="fieldset_0-24_0_22-5_0" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_23" length="25">
        <fields_condition/>
        <fields_instance>an exception from a Software Step exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_23-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ISV</field_name>
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before">
            <para>Instruction syndrome valid. Indicates whether the EX bit, ISS[6], is valid, as follows:</para>
          </field_description>
          <field_description order="after">
            <para>See the EX bit description for more information.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>EX bit is <arm-defined-word>RES0</arm-defined-word>.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>EX bit is valid.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_23-23_7" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>23:7</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_23-6_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>EX</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before">
            <para>Exclusive operation. If the ISV bit is set to 1, this bit indicates whether a Load-Exclusive instruction was stepped.</para>
          </field_description>
          <field_description order="after">
            <para>If the ISV bit is set to 0, this bit is <arm-defined-word>RES0</arm-defined-word>, indicating no syndrome data is available.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>An instruction other than a Load-Exclusive instruction was stepped.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>A Load-Exclusive instruction was stepped.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_23-5_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>IFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Instruction Fault Status Code.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b100010</field_value>
              <field_value_description>
                <para>Debug exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields>
          <para>For more information about generating these exceptions, see <xref linkend="#BCGIIDAJ">'Software Step exceptions'</xref>.</para>
        </text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_23-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_23-23_7" msb="23" lsb="7"/>
        <fieldat id="fieldset_0-24_0_23-6_6" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-24_0_23-5_0" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_24" length="25">
        <fields_condition/>
        <fields_instance>an exception from a Watchpoint exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_24-24_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>24</field_lsb>
          <rel_range>24</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_24-23_18-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>WPT</field_name>
          <field_msb>23</field_msb>
          <field_lsb>18</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Watchpoint number.</para>
          </field_description>
          <field_description order="after">
            <para>All other values are reserved.</para>
          </field_description>
          <fields_condition>When FEAT_Debugv8p2 is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_24-23_18-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>23</field_msb>
          <field_lsb>18</field_lsb>
          <rel_range>23:18</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_24-17_17-1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" reserved_type="RES0">
          <field_name>WPTV</field_name>
          <field_msb>17</field_msb>
          <field_lsb>17</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Watchpoint number Valid.</para>
          </field_description>
          <field_description order="after"><para>If <xref linkend="#FEAT_Debugv8p9">FEAT_Debugv8p9</xref> is implemented, value 0 is not permitted.</para>
<para>When a Watchpoint exception is triggered by a watchpoint match:</para>
<list type="unordered">
<listitem><content>If FEAT_Debugv8p9 is implemented or the PE sets any of FnV, FnP, or WPF to 1, then the PE sets WPTV to 1.</content>
</listitem><listitem><content>Otherwise, the PE sets WPTV to an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value, 0 or 1.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The WPT field is invalid, and holds an <arm-defined-word>UNKNOWN</arm-defined-word> value.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The WPT field is valid, and holds the number of a watchpoint that triggered a Watchpoint exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <fields_condition>When FEAT_Debugv8p2 is implemented</fields_condition>
        </field>
        <field id="fieldset_0-24_0_24-17_17-2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>17</field_msb>
          <field_lsb>17</field_lsb>
          <rel_range>17</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <fields_condition>Otherwise</fields_condition>
        </field>
        <field id="fieldset_0-24_0_24-16_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>WPF</field_name>
          <field_msb>16</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>16</rel_range>
          <field_description order="before">
            <para>Watchpoint might be false-positive.</para>
          </field_description>
          <field_description order="after"><para>Arm strongly recommends that this bit is set to 0, other than when one of the following instructions might generate a watchpoint match for an address or address range that the instruction does not access:</para>
<list type="unordered">
<listitem><content>An SVE contiguous vector load/store instruction, when the PE is in Streaming SVE mode.</content>
</listitem><listitem><content>An SME load/store instruction.</content>
</listitem></list></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The watchpoint matched an address or address range that was accessed by the instruction.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The watchpoint matched an address or address range that might not have been accessed by the instruction.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SVE is implemented or FEAT_SME is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
        </field>
        <field id="fieldset_0-24_0_24-15_15" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FnP</field_name>
          <field_msb>15</field_msb>
          <field_lsb>15</field_lsb>
          <rel_range>15</rel_range>
          <field_description order="before"><para>FAR not Precise.</para>
<para>This field only has meaning if the FAR is valid; that is, when the FnV field is 0. If the FnV field is 1, the FnP field is 0.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>If the FnV field is 0, the FAR holds the virtual address of an access or set of contiguous accesses that triggered a Watchpoint exception.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The FAR holds any address within the smallest implemented translation granule that contains the virtual address of an access or set of contiguous accesses that triggered a Watchpoint exception.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SVE is implemented or FEAT_SME is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
        </field>
        <field id="fieldset_0-24_0_24-14_14" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>14</field_msb>
          <field_lsb>14</field_lsb>
          <rel_range>14</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_24-13_13" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>VNCR</field_name>
          <field_msb>13</field_msb>
          <field_lsb>13</field_lsb>
          <rel_range>13</rel_range>
          <field_description order="before">
            <para>Indicates that the watchpoint came from use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> register by EL1 code.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The watchpoint was not generated by the use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> by EL1 code.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The watchpoint was generated by the use of <register_link state="AArch64" id="AArch64-vncr_el2.xml">VNCR_EL2</register_link> by EL1 code.</para>
              </field_value_description>
              <field_value_condition>When FEAT_NV2 is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_24-12_11" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>12</field_msb>
          <field_lsb>11</field_lsb>
          <rel_range>12:11</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_24-10_10" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>FnV</field_name>
          <field_msb>10</field_msb>
          <field_lsb>10</field_lsb>
          <rel_range>10</rel_range>
          <field_description order="before">
            <para>FAR not Valid.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The FAR is valid, and its value is as described by the FnP field.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The FAR is invalid, and holds an <arm-defined-word>UNKNOWN</arm-defined-word> value.</para>
              </field_value_description>
              <field_value_condition>When FEAT_SVE is implemented or FEAT_SME is implemented</field_value_condition>
            </field_value_instance>
          </field_values>
        </field>
        <field id="fieldset_0-24_0_24-9_9" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>9</field_msb>
          <field_lsb>9</field_lsb>
          <rel_range>9</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_24-8_8" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>CM</field_name>
          <field_msb>8</field_msb>
          <field_lsb>8</field_lsb>
          <rel_range>8</rel_range>
          <field_description order="before">
            <para>Cache maintenance. Indicates whether the Watchpoint exception came from a cache maintenance instruction:</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>The Watchpoint exception was not generated by the execution of one of the System instructions identified in the description of value 1.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>The Watchpoint exception was generated by the execution of a cache maintenance instruction. The <register_link id="AArch64-dc-zva.xml" state="AArch64">DC ZVA</register_link>, <register_link id="AArch64-dc-gva.xml" state="AArch64">DC GVA</register_link>, and <register_link id="AArch64-dc-gzva.xml" state="AArch64">DC GZVA</register_link> instructions are not classified as a cache maintenance instructions, and therefore their execution does not cause this field to be set to 1.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_24-7_7" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>7</field_msb>
          <field_lsb>7</field_lsb>
          <rel_range>7</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_24-6_6" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>WnR</field_name>
          <field_msb>6</field_msb>
          <field_lsb>6</field_lsb>
          <rel_range>6</rel_range>
          <field_description order="before">
            <para>Write not Read. Indicates whether the Watchpoint exception was caused by an instruction writing to a memory location, or by an instruction reading from a memory location.</para>
          </field_description>
          <field_description order="after"><para>For Watchpoint exceptions on cache maintenance instructions, this bit always returns a value of 1.</para>
<para>For Watchpoint exceptions from an atomic instruction, this field is set to 0 if a read of the location would have generated the Watchpoint exception, otherwise it is set to 1.</para>
<para>If multiple watchpoints match on the same access, it is <arm-defined-word>UNPREDICTABLE</arm-defined-word> which watchpoint generates the Watchpoint exception.</para></field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Watchpoint exception caused by an instruction reading from a memory location.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Watchpoint exception caused by an instruction writing to a memory location.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_24-5_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>DFSC</field_name>
          <field_msb>5</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>5:0</rel_range>
          <field_description order="before">
            <para>Data Fault Status Code.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b100010</field_value>
              <field_value_description>
                <para>Debug exception.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields>
          <para>For more information about generating these exceptions, see <xref linkend="#BCGGECBJ">'Watchpoint exceptions'</xref>.</para>
        </text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_24-24_24" msb="24" lsb="24"/>
        <fieldat id="fieldset_0-24_0_24-23_18-1" msb="23" lsb="18"/>
        <fieldat id="fieldset_0-24_0_24-17_17-1" msb="17" lsb="17"/>
        <fieldat id="fieldset_0-24_0_24-16_16" msb="16" lsb="16"/>
        <fieldat id="fieldset_0-24_0_24-15_15" msb="15" lsb="15"/>
        <fieldat id="fieldset_0-24_0_24-14_14" msb="14" lsb="14"/>
        <fieldat id="fieldset_0-24_0_24-13_13" msb="13" lsb="13"/>
        <fieldat id="fieldset_0-24_0_24-12_11" msb="12" lsb="11"/>
        <fieldat id="fieldset_0-24_0_24-10_10" msb="10" lsb="10"/>
        <fieldat id="fieldset_0-24_0_24-9_9" msb="9" lsb="9"/>
        <fieldat id="fieldset_0-24_0_24-8_8" msb="8" lsb="8"/>
        <fieldat id="fieldset_0-24_0_24-7_7" msb="7" lsb="7"/>
        <fieldat id="fieldset_0-24_0_24-6_6" msb="6" lsb="6"/>
        <fieldat id="fieldset_0-24_0_24-5_0" msb="5" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_25" length="25">
        <fields_condition/>
        <fields_instance>an exception from execution of a Breakpoint instruction</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_25-24_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>16</field_lsb>
          <rel_range>24:16</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_25-15_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>Comment</field_name>
          <field_msb>15</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>15:0</rel_range>
          <field_description order="before"><para>Set to the instruction comment field value, zero extended as necessary.</para>
<para>For the AArch32 BKPT instructions, the comment field is described as the immediate field.</para></field_description>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields>
          <para>For more information about generating these exceptions, see <xref linkend="#BCGIEHAG">'Breakpoint instruction exceptions'</xref>.</para>
        </text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_25-24_16" msb="24" lsb="16"/>
        <fieldat id="fieldset_0-24_0_25-15_0" msb="15" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_26" length="25">
        <fields_condition>When FEAT_NV is implemented or FEAT_FGT is implemented</fields_condition>
        <fields_instance>an exception from an ERET, ERETAA, or ERETAB instruction</fields_instance>
        <text_before_fields><para>This EC value applies when:</para>
<list type="unordered">
<listitem><content>
<para><xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented.</para>
</content>
</listitem><listitem><content>
<para>The Effective value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.NV is 1.</para>
</content>
</listitem></list></text_before_fields>
        <field id="fieldset_0-24_0_26-24_2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>24:2</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_26-1_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ERET</field_name>
          <field_msb>1</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>1</rel_range>
          <field_description order="before">
            <para>Indicates whether an ERET or ERETA* instruction was trapped to EL2.</para>
          </field_description>
          <field_description order="after">
            <para>If this bit is 0, the ERETA field is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>ERET instruction trapped to EL2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>ERETAA or ERETAB instruction trapped to EL2.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_26-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>ERETA</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>Indicates whether an ERETAA or ERETAB instruction was trapped to EL2.</para>
          </field_description>
          <field_description order="after">
            <para>When the ERET field is 0, this bit is <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>ERETAA instruction trapped to EL2.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>ERETAB instruction trapped to EL2.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>For more information about generating these exceptions, see <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.NV.</para>
<para>If <xref linkend="#FEAT_FGT">FEAT_FGT</xref> is implemented, <register_link state="AArch64" id="AArch64-hfgitr_el2.xml">HFGITR_EL2</register_link>.ERET controls fine-grained trap exceptions from ERET, ERETAA, and ERETAB execution.</para></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_NV is implemented or FEAT_FGT is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_26-24_2" msb="24" lsb="2"/>
        <fieldat id="fieldset_0-24_0_26-1_1" msb="1" lsb="1"/>
        <fieldat id="fieldset_0-24_0_26-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_27" length="25">
        <fields_condition>When FEAT_BTI is implemented</fields_condition>
        <fields_instance>a Branch Target Exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_27-24_2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>24:2</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_27-1_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>BTYPE</field_name>
          <field_msb>1</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>1:0</rel_range>
          <field_description order="before">
            <para>This field is set to the PSTATE.BTYPE value that generated the Branch Target Exception.</para>
          </field_description>
        </field>
        <text_after_fields>
          <para>For more information about generating these exceptions, see <xref linkend="#BEIBJCGI">'The AArch64 application level programmers model'</xref>.</para>
        </text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition>When FEAT_BTI is implemented</fields_condition>
        <fieldat id="fieldset_0-24_0_27-24_2" msb="24" lsb="2"/>
        <fieldat id="fieldset_0-24_0_27-1_0" msb="1" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_28" length="25">
        <fields_condition/>
        <fields_instance>an exception from a trapped Pointer Authentication instruction</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_28-24_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>24:0</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <text_after_fields><para>For more information about generating these exceptions, see:</para>
<list type="unordered">
<listitem><content><register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.API, for exceptions from Pointer authentication instructions, using AArch64 state, trapped to EL2.</content>
</listitem><listitem><content><register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.API, for exceptions from Pointer authentication instructions, using AArch64 state, trapped to EL3.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_28-24_0" msb="24" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
    <partial_fieldset>
      <fields id="fieldset_0-24_0_29" length="25">
        <fields_condition/>
        <fields_instance>a PAC Fail exception</fields_instance>
        <text_before_fields/>
        <field id="fieldset_0-24_0_29-24_2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
          <field_msb>24</field_msb>
          <field_lsb>2</field_lsb>
          <rel_range>24:2</rel_range>
          <field_description order="before"/>
          <field_description order="before">
            <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
          </field_description>
        </field>
        <field id="fieldset_0-24_0_29-1_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>DnI</field_name>
          <field_msb>1</field_msb>
          <field_lsb>1</field_lsb>
          <rel_range>1</rel_range>
          <field_description order="before">
            <para>This field indicates whether the exception is as a result of an Instruction key or a Data key.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>Instruction Key.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>Data Key.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <field id="fieldset_0-24_0_29-0_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
          <field_name>BnA</field_name>
          <field_msb>0</field_msb>
          <field_lsb>0</field_lsb>
          <rel_range>0</rel_range>
          <field_description order="before">
            <para>This field indicates whether the exception is as a result of an A key or a B key.</para>
          </field_description>
          <field_values impdef="False">
            <field_value_instance>
              <field_value>0b0</field_value>
              <field_value_description>
                <para>A key.</para>
              </field_value_description>
            </field_value_instance>
            <field_value_instance>
              <field_value>0b1</field_value>
              <field_value_description>
                <para>B key.</para>
              </field_value_description>
            </field_value_instance>
          </field_values>
          <field_resets>
            <field_reset reset_type="Warm">
              <field_reset_standard_text>AU</field_reset_standard_text>
            </field_reset>
          </field_resets>
        </field>
        <text_after_fields><para>The following instructions generate a PAC Fail exception when the Pointer Authentication Code (PAC) is incorrect:</para>
<list type="unordered">
<listitem><content><instruction>AUTDA</instruction>, <instruction>AUTDZA</instruction>.</content>
</listitem><listitem><content><instruction>AUTDB</instruction>, <instruction>AUTDZB</instruction>.</content>
</listitem><listitem><content><instruction>AUTIA</instruction>, <instruction>AUTIA1716</instruction>, <instruction>AUTIASP</instruction>, <instruction>AUTIAZ</instruction>, <instruction>AUTIZA</instruction>.</content>
</listitem><listitem><content><instruction>AUTIB</instruction>, <instruction>AUTIB1716</instruction>, <instruction>AUTIBSP</instruction>, <instruction>AUTIBZ</instruction>, <instruction>AUTIZB</instruction>.</content>
</listitem><listitem><content><instruction>AUTIASPPC</instruction>, <instruction>AUTIASPPCR</instruction>, <instruction>AUTIA171615</instruction>.</content>
</listitem><listitem><content><instruction>AUTIBSPPC</instruction>, <instruction>AUTIBSPPCR</instruction>, <instruction>AUTIB171615</instruction>.</content>
</listitem></list>
<para>If <xref linkend="#FEAT_FPACCOMBINE">FEAT_FPACCOMBINE</xref> is implemented, the following instructions generate a PAC Fail exception when the Pointer Authentication Code (PAC) is incorrect:</para>
<list type="unordered">
<listitem><content><instruction>RETAA</instruction>, <instruction>RETAB</instruction>.</content>
</listitem><listitem><content><instruction>RETAASPPC</instruction>, <instruction>RETABSPPC</instruction>.</content>
</listitem><listitem><content><instruction>RETAASPPCR</instruction>, <instruction>RETABSPPCR</instruction>.</content>
</listitem><listitem><content><instruction>BLRAA</instruction>, <instruction>BLRAAZ</instruction>, <instruction>BLRAB</instruction>, <instruction>BLRABZ</instruction>.</content>
</listitem><listitem><content><instruction>BRAA</instruction>, <instruction>BRAB</instruction>, <instruction>BRAAZ</instruction>, <instruction>BRABZ</instruction>.</content>
</listitem><listitem><content><instruction>ERETAA</instruction>, <instruction>ERETAB</instruction>.</content>
</listitem><listitem><content><instruction>LDRAA</instruction>, <instruction>LDRAB</instruction>, whether the authenticated address is written back to the base register or not.</content>
</listitem></list></text_after_fields>
      </fields>
      <reg_fieldset length="25">
        <fields_condition/>
        <fieldat id="fieldset_0-24_0_29-24_2" msb="24" lsb="2"/>
        <fieldat id="fieldset_0-24_0_29-1_1" msb="1" lsb="1"/>
        <fieldat id="fieldset_0-24_0_29-0_0" msb="0" lsb="0"/>
      </reg_fieldset>
    </partial_fieldset>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="64">
  <fieldat id="fieldset_0-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_0-55_32" msb="55" lsb="32"/>
  <fieldat id="fieldset_0-31_26" msb="31" lsb="26"/>
  <fieldat id="fieldset_0-25_25" msb="25" lsb="25"/>
  <fieldat id="fieldset_0-24_0" msb="24" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          


  
    
      <access_permission_text>
        <para>When the Effective value of <register_link state="AArch64" id="AArch64-hcr_el2.xml">HCR_EL2</register_link>.E2H is 1, without explicit synchronization, accesses from EL2 using the accessor name <value>ESR_EL2</value> or <value>ESR_EL1</value> are not guaranteed to be ordered with respect to accesses using the other accessor name.</para>
      </access_permission_text>





    
        
        <access_mechanism accessor="MRS ESR_EL2" type="SystemAccessor">
            <encoding>
            <access_instruction>MRS &lt;Xt&gt;, ESR_EL2</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b100"/>
                
                <enc n="CRn" v="0b0101"/>
                
                <enc n="CRm" v="0b0010"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_permission>
                <ps name="MRS" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if EffectiveHCR_EL2_NVx() IN {'1x1'} then
        X{64}(t) = ESR_EL1();
    elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then
        AArch64_SystemAccessTrap(EL2, 0x18);
    else
        Undefined();
    end;
elsif PSTATE.EL == EL2 then
    X{64}(t) = ESR_EL2();
elsif PSTATE.EL == EL3 then
    X{64}(t) = ESR_EL2();
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MSRregister ESR_EL2" type="SystemAccessor">
            <encoding>
            <access_instruction>MSR ESR_EL2, &lt;Xt&gt;</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b100"/>
                
                <enc n="CRn" v="0b0101"/>
                
                <enc n="CRm" v="0b0010"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_permission>
                <ps name="MSRregister" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if EffectiveHCR_EL2_NVx() IN {'1x1'} then
        ESR_EL1() = X{64}(t);
    elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then
        AArch64_SystemAccessTrap(EL2, 0x18);
    else
        Undefined();
    end;
elsif PSTATE.EL == EL2 then
    ESR_EL2() = X{64}(t);
elsif PSTATE.EL == EL3 then
    ESR_EL2() = X{64}(t);
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MRS ESR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MRS &lt;Xt&gt;, ESR_EL1</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0101"/>
                
                <enc n="CRm" v="0b0010"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_permission>
                <ps name="MRS" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if EL2Enabled() &amp;&amp; HCR_EL2().TRVM == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    elsif EL2Enabled() &amp;&amp; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGRTR_EL2().ESR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    elsif EffectiveHCR_EL2_NVx() IN {'111'} then
        X{64}(t) = NVMem(0x138);
    else
        X{64}(t) = ESR_EL1();
    end;
elsif PSTATE.EL == EL2 then
    if ELIsInHost(EL2) then
        X{64}(t) = ESR_EL2();
    else
        X{64}(t) = ESR_EL1();
    end;
elsif PSTATE.EL == EL3 then
    X{64}(t) = ESR_EL1();
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MSRregister ESR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MSR ESR_EL1, &lt;Xt&gt;</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0101"/>
                
                <enc n="CRm" v="0b0010"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_permission>
                <ps name="MSRregister" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if EL2Enabled() &amp;&amp; HCR_EL2().TVM == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    elsif EL2Enabled() &amp;&amp; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGWTR_EL2().ESR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    elsif EffectiveHCR_EL2_NVx() IN {'111'} then
        NVMem(0x138) = X{64}(t);
    else
        ESR_EL1() = X{64}(t);
    end;
elsif PSTATE.EL == EL2 then
    if ELIsInHost(EL2) then
        ESR_EL2() = X{64}(t);
    else
        ESR_EL1() = X{64}(t);
    end;
elsif PSTATE.EL == EL3 then
    ESR_EL1() = X{64}(t);
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>

      </access_mechanisms>

      <arch_variants>
      </arch_variants>
  </register>
</registers>
<timestamp>2026-03-26 20:27:25</timestamp>
<commit_id>2026-03_rel</commit_id>
</register_page>