<?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>PAR_EL1</reg_short_name>
        
        <reg_long_name>Physical Address Register</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-par.xml">PAR</mapped_name>
  <mapped_type>Architectural</mapped_type>
      <mapped_execution_state>AArch32</mapped_execution_state>
    <mapped_from_startbit>63</mapped_from_startbit>
    <mapped_from_endbit>0</mapped_from_endbit>
    <mapped_to_startbit>63</mapped_to_startbit>
    <mapped_to_endbit>0</mapped_to_endbit>
    <mapped_from_rangeset output="63:0">
      <range>
        <msb>63</msb>
        <lsb>0</lsb>
      </range>
    </mapped_from_rangeset>
    <mapped_to_rangeset output="63:0">
      <range>
        <msb>63</msb>
        <lsb>0</lsb>
      </range>
    </mapped_to_rangeset>

      </reg_mapping>

      </reg_mappings>

        <reg_purpose>
          
    
      <purpose_text>
        <para>Returns the output address (OA) from an Address translation instruction that executed successfully, or fault information if the instruction did not execute successfully.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>Generic System Control</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>AArch64 System register PAR_EL1 is a 128-bit register that can also be accessed as a 64-bit value. If it is accessed as a 64-bit register, accesses read and write bits [63:0] and do not modify bits [127:64].</para>

      </configuration_text>
      <configuration_text>
        <para>Single stage AT Instructions (ATS1*) report their result using the 128-bit format of PAR_EL1 if the translation system that they target uses VMSAv9-128.</para>

      </configuration_text>
      <configuration_text>
        <para>ATS12* Instructions report their result using the 128-bit format PAR_EL1 if either of the following is true:</para>

      </configuration_text>
      <configuration_text>
        <list type="unordered">
<listitem><content>if stage 2 translations are enabled and the stage 2 translation system uses VMSAv9-128.</content>
</listitem><listitem><content>if stage 2 translations are disabled and the stage 1 translation system uses VMSAv9-128.</content>
</listitem></list>

      </configuration_text>
      <configuration_text>
        <para>Otherwise, 64-bit format of PAR_EL1 is used.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>PAR_EL1 is a:</para>

      </attributes_text>
      <attributes_text>
        <list type="unordered">
<listitem><content>128-bit register when FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '0'</content>
</listitem><listitem><content>128-bit register when FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '1'</content>
</listitem><listitem><content>128-bit register when FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '0'</content>
</listitem><listitem><content>128-bit register when FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '1'</content>
</listitem><listitem><content>64-bit register when FEAT_D128 is not implemented and GetPAR_EL1_F() == '0'</content>
</listitem><listitem><content>64-bit register when FEAT_D128 is not implemented and GetPAR_EL1_F() == '1'</content>
</listitem></list>
      </attributes_text>

      </reg_attributes>
      <reg_fieldsets>
        






<fields id="fieldset_0" length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '0'</fields_condition>
  <text_before_fields><para>This section describes the register value returned by the successful execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
<para>On a successful conversion, the PAR_EL1 can return a value that indicates the resulting attributes, rather than the values that appear in the Translation table descriptors. More precisely:</para>
<list type="unordered">
<listitem><content>The PAR_EL1.{ATTR, SH} fields are permitted to report the resulting attributes, as determined by any permitted implementation choices and any applicable configuration bits, instead of reporting the values that appear in the Translation table descriptors.</content>
</listitem><listitem><content>See the PAR_EL1.NS bit description for constraints on the value it returns.</content>
</listitem></list></text_before_fields>
  <field id="fieldset_0-127_120" 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>127</field_msb>
    <field_lsb>120</field_lsb>
    <rel_range>127:120</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-119_76" 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>PA</field_name>
    <field_msb>119</field_msb>
    <field_lsb>76</field_lsb>
    <rel_range>119:76</rel_range>
    <field_description order="before">
      <para>Output address. The output address (OA) corresponding to the supplied input address. This field returns address bits[55:12].</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-75_65" 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>75</field_msb>
    <field_lsb>65</field_lsb>
    <rel_range>75:65</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-64_64" 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>D128</field_name>
    <field_msb>64</field_msb>
    <field_lsb>64</field_lsb>
    <rel_range>64</rel_range>
    <field_description order="before">
      <para>Indicates if the PAR_EL1 uses the 128-bit format.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>PAR_EL1 uses the 128-bit format. PAR_EL1[127:0] holds valid data.</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-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">
    <field_name>ATTR</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before"><para>Memory attributes for the returned output address. This field uses the same encoding as the Attr&lt;n&gt; fields in <register_link state="AArch64" id="AArch64-mair_el1.xml">MAIR_EL1</register_link>, <register_link state="AArch64" id="AArch64-mair_el2.xml">MAIR_EL2</register_link>, and <register_link state="AArch64" id="AArch64-mair_el3.xml">MAIR_EL3</register_link>.</para>
<para>If FEAT_MTE_PERM is implemented and the instruction performed a stage 2 translation, the following additional encoding is defined:</para>
<table><tgroup cols="2"><thead><row><entry>ATTR</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b11100000</binarynumber>
</entry><entry>Tagged NoTagAccess Normal Inner Write-Back, Outer Write-Back,
Read-Allocate, Write-Allocate Non-transient memory.</entry></row></tbody></tgroup></table>
<note><para>This encoding in MAIR_ELx is Reserved.</para></note><para>The value returned in this field can be the resulting attribute that is actually implemented by the implementation, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para>
<note><para>The attributes presented are consistent with the stages of translation applied in the address translation instruction. If the instruction performed a stage 1 translation only, the attributes are from the stage 1 translation. If the instruction performed a stage 1 and stage 2 translation, the attributes are from the combined stage 1 and stage 2 translation.</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-55_52" 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>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52, 6:4</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_rangesets>
      <field_rangeset>
        <field_msb>55</field_msb>
        <field_lsb>52</field_lsb>
      </field_rangeset>
      <field_rangeset>
        <field_msb>6</field_msb>
        <field_lsb>4</field_lsb>
      </field_rangeset>
    </field_rangesets>
  </field>
  <field id="fieldset_0-51_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>51</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>51: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-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="RES1">
    <field_name>NSE</field_name>
    <field_msb>11</field_msb>
    <field_lsb>11</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Reports the NSE attribute for a translation table descriptor from the EL3 translation regime.</para>
<para>For a description of the values derived by evaluating NS and NSE together, see PAR_EL1.NS.</para>
<para>For a result from a Secure, Non-secure, or Realm translation regime, this bit is unknown.</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_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
    <fields_condition>Otherwise</fields_condition>
  </field>
  <field id="fieldset_0-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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>10</field_msb>
    <field_lsb>10</field_lsb>
    <rel_range>10</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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-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="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime, a Realm translation regime, and the EL3 translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from an EL3 translation regime, NS and NSE are evaluated together to report the physical address space:</para>
<table><tgroup cols="3"><thead><row><entry>NSE</entry><entry>NS</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>When Secure state is implemented, Secure. Otherwise reserved.</entry></row><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Non-secure.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>Root.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Realm.</entry></row></tbody></tgroup></table>
<para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
<para>For a result from an S1E1 or S1E0 operation on the Realm EL1&amp;0 translation regime, this bit 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 FEAT_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_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" reserved_type="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit 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>Otherwise</fields_condition>
  </field>
  <field id="fieldset_0-8_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>SH</field_name>
    <field_msb>8</field_msb>
    <field_lsb>7</field_lsb>
    <rel_range>8:7</rel_range>
    <field_description order="before">
      <para>Shareability attribute, for the returned output address.</para>
    </field_description>
    <field_description order="after"><para>The value <binarynumber>0b01</binarynumber> is reserved.</para>
<note><para>This field returns the value <binarynumber>0b10</binarynumber> for:</para><list type="unordered"><listitem><content>Any type of Device memory.</content></listitem><listitem><content>Normal memory with both Inner Non-cacheable and Outer Non-cacheable attributes.</content></listitem></list></note><para>The value returned in this field can be the resulting attribute, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para></field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b00</field_value>
        <field_value_description>
          <para>Non-shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b10</field_value>
        <field_value_description>
          <para>Outer Shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b11</field_value>
        <field_value_description>
          <para>Inner Shareable.</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-6_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" is_expansion="True" rwtype="RES0">
    <field_msb>6</field_msb>
    <field_lsb>4</field_lsb>
    <rel_range>55:52, 6:4</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-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" rwtype="RES0">
    <field_msb>3</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>3:1</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-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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Address translation completed successfully.</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>



<fields id="fieldset_1" length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '1'</fields_condition>
  <text_before_fields>
    <para>This section describes the register value returned by a fault on the execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
  </text_before_fields>
  <field id="fieldset_1-127_65" 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>127</field_msb>
    <field_lsb>65</field_lsb>
    <rel_range>127:65</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_1-64_64" 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>D128</field_name>
    <field_msb>64</field_msb>
    <field_lsb>64</field_lsb>
    <rel_range>64</rel_range>
    <field_description order="before">
      <para>Indicates if the PAR_EL1 uses the 128-bit format.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>PAR_EL1 uses the 128-bit format. PAR_EL1[127:0] holds valid data.</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_1-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">
    <field_name>IMPLEMENTATION DEFINED</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_1-55_52" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_1-51_48" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>51:48</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_1-47_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>47</field_msb>
    <field_lsb>16</field_lsb>
    <rel_range>47: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_1-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>DirtyBit</field_name>
    <field_msb>15</field_msb>
    <field_lsb>15</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>DirtyBit flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation that is using Indirect Permissions, and dirty state is managed by software, then 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>
<note><para>At stage 1, dirty state is indicated by the nDirty bit in Block and Page descriptors. At stage 2, dirty state is indicated by the Dirty bit in Block and Page descriptors.</para></note></field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>The 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>The 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_1-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_1-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>Overlay</field_name>
    <field_msb>14</field_msb>
    <field_lsb>14</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Overlay flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation, 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>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_1-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_1-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>TopLevel</field_name>
    <field_msb>13</field_msb>
    <field_lsb>13</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Fault due to TopLevel. Indicates if the fault was due to TopLevel.</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 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_1-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_1-12_12-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>12</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>AssuredOnly flag.</para>
<para>If PAR_EL1.S indicates a stage 2 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>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_1-12_12-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>12</field_lsb>
    <rel_range>12</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_1-11_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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_1-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" 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>
  </field>
  <field id="fieldset_1-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>S</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>9</rel_range>
    <field_description order="before">
      <para>Indicates the translation stage at which the translation aborted:</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 1 translation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 2 translation.</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_1-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>PTW</field_name>
    <field_msb>8</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>8</rel_range>
    <field_description order="before">
      <para>If this bit is set to 1, it indicates the translation aborted because of a stage 2 fault during a stage 1 translation table walk.</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_1-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_1-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">
    <field_name>FST</field_name>
    <field_msb>6</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>6:1</rel_range>
    <field_description order="before">
      <para>Fault status code, as shown in the Data Abort ESR encoding.</para>
    </field_description>
    <field_description order="after">
      <note>
        <para>The encodings for FST do not include Synchronous External abort on translation table walk or hardware update of translation table, because these MMU faults are reported as a Data Abort exception instead of being recorded in PAR_EL1. See <xref linkend="#MDSec.Exceptions_to_reporting_the_fault_in_PAR_EL1">Exceptions to reporting the fault in PAR_EL1</xref>.</para>
      </note>
    </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>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_value_instance>
        <field_value>0b111101</field_value>
        <field_value_description>
          <para>Section Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111110</field_value>
        <field_value_description>
          <para>Page Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 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_1-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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Address translation aborted.</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>



<fields id="fieldset_2" length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '0'</fields_condition>
  <text_before_fields><para>This section describes the register value returned by the successful execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
<para>On a successful conversion, the PAR_EL1 can return a value that indicates the resulting attributes, rather than the values that appear in the Translation table descriptors. More precisely:</para>
<list type="unordered">
<listitem><content>The PAR_EL1.{ATTR, SH} fields are permitted to report the resulting attributes, as determined by any permitted implementation choices and any applicable configuration bits, instead of reporting the values that appear in the Translation table descriptors.</content>
</listitem><listitem><content>See the PAR_EL1.NS bit description for constraints on the value it returns.</content>
</listitem></list></text_before_fields>
  <field id="fieldset_2-127_65" 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>127</field_msb>
    <field_lsb>65</field_lsb>
    <rel_range>127:65</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_2-64_64" 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>D128</field_name>
    <field_msb>64</field_msb>
    <field_lsb>64</field_lsb>
    <rel_range>64</rel_range>
    <field_description order="before">
      <para>Indicates if the PAR_EL1 uses the 128-bit format.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>PAR_EL1 uses the 64-bit format. PAR_EL1[63:0] holds valid data.</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_2-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">
    <field_name>ATTR</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before"><para>Memory attributes for the returned output address. This field uses the same encoding as the Attr&lt;n&gt; fields in <register_link state="AArch64" id="AArch64-mair_el1.xml">MAIR_EL1</register_link>, <register_link state="AArch64" id="AArch64-mair_el2.xml">MAIR_EL2</register_link>, and <register_link state="AArch64" id="AArch64-mair_el3.xml">MAIR_EL3</register_link>.</para>
<para>If FEAT_MTE_PERM is implemented and the instruction performed a stage 2 translation, the following additional encoding is defined:</para>
<table><tgroup cols="2"><thead><row><entry>ATTR</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b11100000</binarynumber>
</entry><entry>Tagged NoTagAccess Normal Inner Write-Back, Outer Write-Back,
Read-Allocate, Write-Allocate Non-transient memory.</entry></row></tbody></tgroup></table>
<note><para>This encoding in MAIR_ELx is Reserved.</para></note><para>The value returned in this field can be the resulting attribute that is actually implemented by the implementation, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para>
<note><para>The attributes presented are consistent with the stages of translation applied in the address translation instruction. If the instruction performed a stage 1 translation only, the attributes are from the stage 1 translation. If the instruction performed a stage 1 and stage 2 translation, the attributes are from the combined stage 1 and stage 2 translation.</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_2-55_52" 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>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52, 6:4</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_rangesets>
      <field_rangeset>
        <field_msb>55</field_msb>
        <field_lsb>52</field_lsb>
      </field_rangeset>
      <field_rangeset>
        <field_msb>6</field_msb>
        <field_lsb>4</field_lsb>
      </field_rangeset>
    </field_rangesets>
  </field>
  <field id="fieldset_2-51_48-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>PA[51:48]</field_name>
    <field_msb>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>3:0</rel_range>
    <field_description order="before">
      <para>Extension to PA[47:12]. For more information, see PA[47:12].</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_LPA is implemented</fields_condition>
  </field>
  <field id="fieldset_2-51_48-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>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>51:48</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_2-47_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>PA[47:12]</field_name>
    <field_msb>47</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>47:12</rel_range>
    <field_description order="before"><para>Output address. The output address (OA) corresponding to the supplied input address. This field returns address bits[47:12].</para>
<para>When <xref linkend="#FEAT_LPA">FEAT_LPA</xref> is implemented and 52-bit addresses are in use, PA[51:48] forms the upper part of the address value. Otherwise, when 52-bit addresses are not in use, PA[51:48] is <arm-defined-word>RES0</arm-defined-word>.</para>
<para>For implementations with fewer than 48 physical address bits, the corresponding upper bits in this field are <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_2-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="RES1">
    <field_name>NSE</field_name>
    <field_msb>11</field_msb>
    <field_lsb>11</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Reports the NSE attribute for a translation table entry from the EL3 translation regime.</para>
<para>For a description of the values derived by evaluating NS and NSE together, see PAR_EL1.NS.</para>
<para>For a result from a Secure, Non-secure, or Realm translation regime, this bit 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 FEAT_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_2-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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
    <fields_condition>Otherwise</fields_condition>
  </field>
  <field id="fieldset_2-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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>10</field_msb>
    <field_lsb>10</field_lsb>
    <rel_range>10</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_2-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="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime, a Realm translation regime, and the EL3 translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from an EL3 translation regime, NS and NSE are evaluated together to report the physical address space:</para>
<table><tgroup cols="3"><thead><row><entry>NSE</entry><entry>NS</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>When Secure state is implemented, Secure. Otherwise reserved.</entry></row><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Non-secure.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>Root.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Realm.</entry></row></tbody></tgroup></table>
<para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
<para>For a result from an S1E1 or S1E0 operation on the Realm EL1&amp;0 translation regime, this bit 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 FEAT_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_2-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" reserved_type="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit 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>Otherwise</fields_condition>
  </field>
  <field id="fieldset_2-8_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>SH</field_name>
    <field_msb>8</field_msb>
    <field_lsb>7</field_lsb>
    <rel_range>8:7</rel_range>
    <field_description order="before">
      <para>Shareability attribute, for the returned output address.</para>
    </field_description>
    <field_description order="after"><para>The value <binarynumber>0b01</binarynumber> is reserved.</para>
<note><para>This field returns the value <binarynumber>0b10</binarynumber> for:</para><list type="unordered"><listitem><content>Any type of Device memory.</content></listitem><listitem><content>Normal memory with both Inner Non-cacheable and Outer Non-cacheable attributes.</content></listitem></list></note><para>The value returned in this field can be the resulting attribute, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para></field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b00</field_value>
        <field_value_description>
          <para>Non-shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b10</field_value>
        <field_value_description>
          <para>Outer Shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b11</field_value>
        <field_value_description>
          <para>Inner Shareable.</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_2-6_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" is_expansion="True" rwtype="RES0">
    <field_msb>6</field_msb>
    <field_lsb>4</field_lsb>
    <rel_range>55:52, 6:4</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_2-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" rwtype="RES0">
    <field_msb>3</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>3:1</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_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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Address translation completed successfully.</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>



<fields id="fieldset_3" length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '1'</fields_condition>
  <text_before_fields>
    <para>This section describes the register value returned by a fault on the execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
  </text_before_fields>
  <field id="fieldset_3-127_65" 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>127</field_msb>
    <field_lsb>65</field_lsb>
    <rel_range>127:65</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_3-64_64" 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>D128</field_name>
    <field_msb>64</field_msb>
    <field_lsb>64</field_lsb>
    <rel_range>64</rel_range>
    <field_description order="before">
      <para>Indicates if the PAR_EL1 uses the 128-bit format.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>PAR_EL1 uses the 64-bit format. PAR_EL1[63:0] holds valid data.</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_3-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">
    <field_name>IMPLEMENTATION DEFINED</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_3-55_52" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_3-51_48" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>51:48</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_3-47_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>47</field_msb>
    <field_lsb>16</field_lsb>
    <rel_range>47: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_3-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>DirtyBit</field_name>
    <field_msb>15</field_msb>
    <field_lsb>15</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>DirtyBit flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation that is using Indirect Permissions, and dirty state is managed by software, then 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>The Permission Fault is not due to nDirty State or Dirty State.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>The Permission Fault is due to nDirty State or 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_3-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_3-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>Overlay</field_name>
    <field_msb>14</field_msb>
    <field_lsb>14</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Overlay flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation, 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>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_3-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_3-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>TopLevel</field_name>
    <field_msb>13</field_msb>
    <field_lsb>13</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Fault due to TopLevel. Indicates if the fault was due to TopLevel.</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 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_3-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_3-12_12-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>12</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>AssuredOnly flag.</para>
<para>If PAR_EL1.S indicates a stage 2 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>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_3-12_12-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>12</field_lsb>
    <rel_range>12</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_3-11_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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_3-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" 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>
  </field>
  <field id="fieldset_3-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>S</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>9</rel_range>
    <field_description order="before">
      <para>Indicates the translation stage at which the translation aborted:</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 1 translation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 2 translation.</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_3-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>PTW</field_name>
    <field_msb>8</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>8</rel_range>
    <field_description order="before">
      <para>If this bit is set to 1, it indicates the translation aborted because of a stage 2 fault during a stage 1 translation table walk.</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_3-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_3-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">
    <field_name>FST</field_name>
    <field_msb>6</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>6:1</rel_range>
    <field_description order="before">
      <para>Fault status code, as shown in the Data Abort exception ESR encoding.</para>
    </field_description>
    <field_description order="after">
      <note>
        <para>The encodings for FST do not include Synchronous External abort on translation table walk or hardware update of translation table, because these MMU faults are reported as a Data Abort exception instead of being recorded in PAR_EL1. See <xref linkend="#MDSec.Exceptions_to_reporting_the_fault_in_PAR_EL1">Exceptions to reporting the fault in PAR_EL1</xref>.</para>
      </note>
    </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>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_value_instance>
        <field_value>0b111101</field_value>
        <field_value_description>
          <para>Section Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111110</field_value>
        <field_value_description>
          <para>Page Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 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_3-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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Address translation aborted.</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>



<fields id="fieldset_4" length="64">
  <fields_condition>When FEAT_D128 is not implemented and GetPAR_EL1_F() == '0'</fields_condition>
  <fields_instance>AArch64-PAR_EL1.F == 0b0</fields_instance>
  <text_before_fields><para>This section describes the register value returned by the successful execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
<para>On a successful conversion, the PAR_EL1 can return a value that indicates the resulting attributes, rather than the values that appear in the Translation table descriptors. More precisely:</para>
<list type="unordered">
<listitem><content>The PAR_EL1.{ATTR, SH} fields are permitted to report the resulting attributes, as determined by any permitted implementation choices and any applicable configuration bits, instead of reporting the values that appear in the Translation table descriptors.</content>
</listitem><listitem><content>See the PAR_EL1.NS bit description for constraints on the value it returns.</content>
</listitem></list></text_before_fields>
  <field id="fieldset_4-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">
    <field_name>ATTR</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before"><para>Memory attributes for the returned output address. This field uses the same encoding as the Attr&lt;n&gt; fields in <register_link state="AArch64" id="AArch64-mair_el1.xml">MAIR_EL1</register_link>, <register_link state="AArch64" id="AArch64-mair_el2.xml">MAIR_EL2</register_link>, and <register_link state="AArch64" id="AArch64-mair_el3.xml">MAIR_EL3</register_link>.</para>
<para>If FEAT_MTE_PERM is implemented and the instruction performed a stage 2 translation, the following additional encoding is defined:</para>
<table><tgroup cols="2"><thead><row><entry>ATTR</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b11100000</binarynumber>
</entry><entry>Tagged NoTagAccess Normal Inner Write-Back, Outer Write-Back,
Read-Allocate, Write-Allocate Non-transient memory.</entry></row></tbody></tgroup></table>
<note><para>This encoding in MAIR_ELx is Reserved.</para></note><para>The value returned in this field can be the resulting attribute that is actually implemented by the implementation, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para>
<note><para>The attributes presented are consistent with the stages of translation applied in the address translation instruction. If the instruction performed a stage 1 translation only, the attributes are from the stage 1 translation. If the instruction performed a stage 1 and stage 2 translation, the attributes are from the combined stage 1 and stage 2 translation.</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_4-55_52" 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>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52, 6:4</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_rangesets>
      <field_rangeset>
        <field_msb>55</field_msb>
        <field_lsb>52</field_lsb>
      </field_rangeset>
      <field_rangeset>
        <field_msb>6</field_msb>
        <field_lsb>4</field_lsb>
      </field_rangeset>
    </field_rangesets>
  </field>
  <field id="fieldset_4-51_48-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>PA[51:48]</field_name>
    <field_msb>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>3:0</rel_range>
    <field_description order="before">
      <para>Extension to PA[47:12]. For more information, see PA[47:12].</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_LPA is implemented</fields_condition>
  </field>
  <field id="fieldset_4-51_48-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>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>51:48</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_4-47_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>PA[47:12]</field_name>
    <field_msb>47</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>47:12</rel_range>
    <field_description order="before"><para>Output address. The output address (OA) corresponding to the supplied input address. This field returns address bits[47:12].</para>
<para>When <xref linkend="#FEAT_LPA">FEAT_LPA</xref> is implemented and 52-bit addresses are in use, PA[51:48] forms the upper part of the address value. Otherwise, when 52-bit addresses are not in use, PA[51:48] is <arm-defined-word>RES0</arm-defined-word>.</para>
<para>For implementations with fewer than 48 physical address bits, the corresponding upper bits in this field are <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_4-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="RES1">
    <field_name>NSE</field_name>
    <field_msb>11</field_msb>
    <field_lsb>11</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Reports the NSE attribute for a translation table entry from the EL3 translation regime.</para>
<para>For a description of the values derived by evaluating NS and NSE together, see PAR_EL1.NS.</para>
<para>For a result from a Secure, Non-secure, or Realm translation regime, this bit 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 FEAT_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_4-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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
    <fields_condition>Otherwise</fields_condition>
  </field>
  <field id="fieldset_4-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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>10</field_msb>
    <field_lsb>10</field_lsb>
    <rel_range>10</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_4-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="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime, a Realm translation regime, and the EL3 translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from an EL3 translation regime, NS and NSE are evaluated together to report the physical address space:</para>
<table><tgroup cols="3"><thead><row><entry>NSE</entry><entry>NS</entry><entry>Meaning</entry></row></thead><tbody><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>When Secure state is implemented, Secure. Otherwise reserved.</entry></row><row><entry><binarynumber>0b0</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Non-secure.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b0</binarynumber></entry><entry>Root.</entry></row><row><entry><binarynumber>0b1</binarynumber></entry><entry><binarynumber>0b1</binarynumber></entry><entry>Realm.</entry></row></tbody></tgroup></table>
<para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit is <arm-defined-word>UNKNOWN</arm-defined-word>.</para>
<para>For a result from an S1E1 or S1E0 operation on the Realm EL1&amp;0 translation regime, this bit 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 FEAT_RME is implemented</fields_condition>
  </field>
  <field id="fieldset_4-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" reserved_type="UNKNOWN">
    <field_name>NS</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Non-secure. The NS attribute for a translation table entry from a Secure translation regime.</para>
    </field_description>
    <field_description order="after"><para>For a result from a Secure translation regime, when <register_link state="AArch64" id="AArch64-scr_el3.xml">SCR_EL3</register_link>.EEL2 is 1, this bit distinguishes between the Secure and Non-secure intermediate physical address space of the translation for the instructions:</para>
<list type="unordered">
<listitem><content>In AArch64 state: <register_link id="AArch64-at-s1e1r.xml" state="AArch64">AT S1E1R</register_link>, <register_link id="AArch64-at-s1e1w.xml" state="AArch64">AT S1E1W</register_link>, <register_link id="AArch64-at-s1e1rp.xml" state="AArch64">AT S1E1RP</register_link>, <register_link id="AArch64-at-s1e1wp.xml" state="AArch64">AT S1E1WP</register_link>, <register_link id="AArch64-at-s1e0r.xml" state="AArch64">AT S1E0R</register_link>, and <register_link id="AArch64-at-s1e0w.xml" state="AArch64">AT S1E0W</register_link>.</content>
</listitem><listitem><content>In AArch32 state: <register_link state="AArch32" id="AArch32-ats1cpr.xml">ATS1CPR</register_link>, <register_link state="AArch32" id="AArch32-ats1cpw.xml">ATS1CPW</register_link>, <register_link state="AArch32" id="AArch32-ats1cprp.xml">ATS1CPRP</register_link>, <register_link state="AArch32" id="AArch32-ats1cpwp.xml">ATS1CPWP</register_link>, <register_link state="AArch32" id="AArch32-ats1cur.xml">ATS1CUR</register_link>, and <register_link state="AArch32" id="AArch32-ats1cuw.xml">ATS1CUW</register_link>.</content>
</listitem></list>
<para>Otherwise, this bit reflects the Security state of the physical address space of the translation. This means it reflects the effect of the NSTable bits of earlier levels of the translation table walk if those NSTable bits have an effect on the translation.</para>
<para>For a result from a Non-secure translation regime, this bit 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>Otherwise</fields_condition>
  </field>
  <field id="fieldset_4-8_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>SH</field_name>
    <field_msb>8</field_msb>
    <field_lsb>7</field_lsb>
    <rel_range>8:7</rel_range>
    <field_description order="before">
      <para>Shareability attribute, for the returned output address.</para>
    </field_description>
    <field_description order="after"><para>The value <binarynumber>0b01</binarynumber> is reserved.</para>
<note><para>This field returns the value <binarynumber>0b10</binarynumber> for:</para><list type="unordered"><listitem><content>Any type of Device memory.</content></listitem><listitem><content>Normal memory with both Inner Non-cacheable and Outer Non-cacheable attributes.</content></listitem></list></note><para>The value returned in this field can be the resulting attribute, as determined by any permitted implementation choices and any applicable configuration bits, instead of the value that appears in the Translation table descriptor.</para></field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b00</field_value>
        <field_value_description>
          <para>Non-shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b10</field_value>
        <field_value_description>
          <para>Outer Shareable.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b11</field_value>
        <field_value_description>
          <para>Inner Shareable.</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_4-6_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" is_expansion="True" rwtype="RES0">
    <field_msb>6</field_msb>
    <field_lsb>4</field_lsb>
    <rel_range>55:52, 6:4</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_4-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" rwtype="RES0">
    <field_msb>3</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>3:1</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_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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Address translation completed successfully.</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>



<fields id="fieldset_5" length="64">
  <fields_condition>When FEAT_D128 is not implemented and GetPAR_EL1_F() == '1'</fields_condition>
  <fields_instance>AArch64-PAR_EL1.F == 0b1</fields_instance>
  <text_before_fields>
    <para>This section describes the register value returned by a fault on the execution of an Address translation instruction. Software might subsequently write a different value to the register, and that write does not affect the operation of the PE.</para>
  </text_before_fields>
  <field id="fieldset_5-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">
    <field_name>IMPLEMENTATION DEFINED</field_name>
    <field_msb>63</field_msb>
    <field_lsb>56</field_lsb>
    <rel_range>63:56</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_5-55_52" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>55</field_msb>
    <field_lsb>52</field_lsb>
    <rel_range>55:52</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_5-51_48" 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>IMPLEMENTATION DEFINED</field_name>
    <field_msb>51</field_msb>
    <field_lsb>48</field_lsb>
    <rel_range>51:48</rel_range>
    <field_description order="before">
      <para><arm-defined-word>IMPLEMENTATION DEFINED</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_5-47_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>47</field_msb>
    <field_lsb>16</field_lsb>
    <rel_range>47: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_5-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>DirtyBit</field_name>
    <field_msb>15</field_msb>
    <field_lsb>15</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>DirtyBit flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation that is using Indirect Permissions, and dirty state is managed by software, then 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>The Permission Fault is not due to nDirty State or Dirty State.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>The Permission Fault is due to nDirty State or 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_5-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_5-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>Overlay</field_name>
    <field_msb>14</field_msb>
    <field_lsb>14</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>Overlay flag.</para>
<para>If PAR_EL1.FST indicates a Permission fault for a stage of translation, 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>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_5-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_5-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>TopLevel</field_name>
    <field_msb>13</field_msb>
    <field_lsb>13</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Fault due to TopLevel. Indicates if the fault was due to TopLevel.</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 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_5-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_5-12_12-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>12</field_msb>
    <field_lsb>12</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before"><para>AssuredOnly flag.</para>
<para>If PAR_EL1.S indicates a stage 2 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>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_5-12_12-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>12</field_lsb>
    <rel_range>12</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_5-11_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="RES1">
    <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>RES1</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_5-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" 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>
  </field>
  <field id="fieldset_5-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>S</field_name>
    <field_msb>9</field_msb>
    <field_lsb>9</field_lsb>
    <rel_range>9</rel_range>
    <field_description order="before">
      <para>Indicates the translation stage at which the translation aborted:</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 1 translation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Translation aborted because of a fault in the stage 2 translation.</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_5-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>PTW</field_name>
    <field_msb>8</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>8</rel_range>
    <field_description order="before">
      <para>If this bit is set to 1, it indicates the translation aborted because of a stage 2 fault during a stage 1 translation table walk.</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_5-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_5-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">
    <field_name>FST</field_name>
    <field_msb>6</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>6:1</rel_range>
    <field_description order="before">
      <para>Fault status code, as shown in the Data Abort exception ESR encoding.</para>
    </field_description>
    <field_description order="after">
      <note>
        <para>The encodings for FST do not include Synchronous External abort on translation table walk or hardware update of translation table, because these MMU faults are reported as a Data Abort exception instead of being recorded in PAR_EL1. See <xref linkend="#MDSec.Exceptions_to_reporting_the_fault_in_PAR_EL1">Exceptions to reporting the fault in PAR_EL1</xref>.</para>
      </note>
    </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>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_value_instance>
        <field_value>0b111101</field_value>
        <field_value_description>
          <para>Section Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 is implemented</field_value_condition>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b111110</field_value>
        <field_value_description>
          <para>Page Domain fault, from an AArch32 stage 1 EL1&amp;0 translation regime using Short-descriptor translation table format.</para>
        </field_value_description>
        <field_value_condition>When FEAT_AA32EL1 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_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>F</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Indicates whether the instruction performed a successful address translation.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Address translation aborted.</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="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '0'</fields_condition>
  <fieldat id="fieldset_0-127_120" msb="127" lsb="120"/>
  <fieldat id="fieldset_0-119_76" msb="119" lsb="76"/>
  <fieldat id="fieldset_0-75_65" msb="75" lsb="65"/>
  <fieldat id="fieldset_0-64_64" msb="64" lsb="64"/>
  <fieldat id="fieldset_0-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_0-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_0-51_12" msb="51" lsb="12"/>
  <fieldat id="fieldset_0-11_11-1" msb="11" lsb="11"/>
  <fieldat id="fieldset_0-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_0-9_9-1" msb="9" lsb="9"/>
  <fieldat id="fieldset_0-8_7" msb="8" lsb="7"/>
  <fieldat id="fieldset_0-55_52" msb="6" lsb="4"/>
  <fieldat id="fieldset_0-3_1" msb="3" lsb="1"/>
  <fieldat id="fieldset_0-0_0" msb="0" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '1', and GetPAR_EL1_F() == '1'</fields_condition>
  <fieldat id="fieldset_1-127_65" msb="127" lsb="65"/>
  <fieldat id="fieldset_1-64_64" msb="64" lsb="64"/>
  <fieldat id="fieldset_1-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_1-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_1-51_48" msb="51" lsb="48"/>
  <fieldat id="fieldset_1-47_16" msb="47" lsb="16"/>
  <fieldat id="fieldset_1-15_15-1" msb="15" lsb="15"/>
  <fieldat id="fieldset_1-14_14-1" msb="14" lsb="14"/>
  <fieldat id="fieldset_1-13_13-1" msb="13" lsb="13"/>
  <fieldat id="fieldset_1-12_12-1" msb="12" lsb="12"/>
  <fieldat id="fieldset_1-11_11" msb="11" lsb="11"/>
  <fieldat id="fieldset_1-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_1-9_9" msb="9" lsb="9"/>
  <fieldat id="fieldset_1-8_8" msb="8" lsb="8"/>
  <fieldat id="fieldset_1-7_7" msb="7" lsb="7"/>
  <fieldat id="fieldset_1-6_1" msb="6" lsb="1"/>
  <fieldat id="fieldset_1-0_0" msb="0" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '0'</fields_condition>
  <fieldat id="fieldset_2-127_65" msb="127" lsb="65"/>
  <fieldat id="fieldset_2-64_64" msb="64" lsb="64"/>
  <fieldat id="fieldset_2-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_2-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_2-51_48-1" msb="51" lsb="48"/>
  <fieldat id="fieldset_2-47_12" msb="47" lsb="12"/>
  <fieldat id="fieldset_2-11_11-1" msb="11" lsb="11"/>
  <fieldat id="fieldset_2-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_2-9_9-1" msb="9" lsb="9"/>
  <fieldat id="fieldset_2-8_7" msb="8" lsb="7"/>
  <fieldat id="fieldset_2-55_52" msb="6" lsb="4"/>
  <fieldat id="fieldset_2-3_1" msb="3" lsb="1"/>
  <fieldat id="fieldset_2-0_0" msb="0" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="128">
  <fields_condition>When FEAT_D128 is implemented, GetPAR_EL1_D128() == '0', and GetPAR_EL1_F() == '1'</fields_condition>
  <fieldat id="fieldset_3-127_65" msb="127" lsb="65"/>
  <fieldat id="fieldset_3-64_64" msb="64" lsb="64"/>
  <fieldat id="fieldset_3-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_3-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_3-51_48" msb="51" lsb="48"/>
  <fieldat id="fieldset_3-47_16" msb="47" lsb="16"/>
  <fieldat id="fieldset_3-15_15-1" msb="15" lsb="15"/>
  <fieldat id="fieldset_3-14_14-1" msb="14" lsb="14"/>
  <fieldat id="fieldset_3-13_13-1" msb="13" lsb="13"/>
  <fieldat id="fieldset_3-12_12-1" msb="12" lsb="12"/>
  <fieldat id="fieldset_3-11_11" msb="11" lsb="11"/>
  <fieldat id="fieldset_3-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_3-9_9" msb="9" lsb="9"/>
  <fieldat id="fieldset_3-8_8" msb="8" lsb="8"/>
  <fieldat id="fieldset_3-7_7" msb="7" lsb="7"/>
  <fieldat id="fieldset_3-6_1" msb="6" lsb="1"/>
  <fieldat id="fieldset_3-0_0" msb="0" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="64">
  <fields_condition>When FEAT_D128 is not implemented and GetPAR_EL1_F() == '0'</fields_condition>
  <fieldat id="fieldset_4-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_4-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_4-51_48-1" msb="51" lsb="48"/>
  <fieldat id="fieldset_4-47_12" msb="47" lsb="12"/>
  <fieldat id="fieldset_4-11_11-1" msb="11" lsb="11"/>
  <fieldat id="fieldset_4-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_4-9_9-1" msb="9" lsb="9"/>
  <fieldat id="fieldset_4-8_7" msb="8" lsb="7"/>
  <fieldat id="fieldset_4-55_52" msb="6" lsb="4"/>
  <fieldat id="fieldset_4-3_1" msb="3" lsb="1"/>
  <fieldat id="fieldset_4-0_0" msb="0" lsb="0"/>
</reg_fieldset>

<reg_fieldset length="64">
  <fields_condition>When FEAT_D128 is not implemented and GetPAR_EL1_F() == '1'</fields_condition>
  <fieldat id="fieldset_5-63_56" msb="63" lsb="56"/>
  <fieldat id="fieldset_5-55_52" msb="55" lsb="52"/>
  <fieldat id="fieldset_5-51_48" msb="51" lsb="48"/>
  <fieldat id="fieldset_5-47_16" msb="47" lsb="16"/>
  <fieldat id="fieldset_5-15_15-1" msb="15" lsb="15"/>
  <fieldat id="fieldset_5-14_14-1" msb="14" lsb="14"/>
  <fieldat id="fieldset_5-13_13-1" msb="13" lsb="13"/>
  <fieldat id="fieldset_5-12_12-1" msb="12" lsb="12"/>
  <fieldat id="fieldset_5-11_11" msb="11" lsb="11"/>
  <fieldat id="fieldset_5-10_10" msb="10" lsb="10"/>
  <fieldat id="fieldset_5-9_9" msb="9" lsb="9"/>
  <fieldat id="fieldset_5-8_8" msb="8" lsb="8"/>
  <fieldat id="fieldset_5-7_7" msb="7" lsb="7"/>
  <fieldat id="fieldset_5-6_1" msb="6" lsb="1"/>
  <fieldat id="fieldset_5-0_0" msb="0" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          






    
        
        <access_mechanism accessor="MRS PAR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MRS &lt;Xt&gt;, PAR_EL1</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0111"/>
                
                <enc n="CRm" v="0b0100"/>
                
                <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; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGRTR_EL2().PAR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    else
        X{64}(t) = PAR_EL1()[63:0];
    end;
elsif PSTATE.EL == EL2 then
    X{64}(t) = PAR_EL1()[63:0];
elsif PSTATE.EL == EL3 then
    X{64}(t) = PAR_EL1()[63:0];
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MSRregister PAR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MSR PAR_EL1, &lt;Xt&gt;</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0111"/>
                
                <enc n="CRm" v="0b0100"/>
                
                <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; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGWTR_EL2().PAR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x18);
    else
        PAR_EL1()[63:0] = X{64}(t);
    end;
elsif PSTATE.EL == EL2 then
    PAR_EL1()[63:0] = X{64}(t);
elsif PSTATE.EL == EL3 then
    PAR_EL1()[63:0] = X{64}(t);
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MRRS PAR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MRRS &lt;Xt&gt;, &lt;Xt+1&gt;, PAR_EL1</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0111"/>
                
                <enc n="CRm" v="0b0100"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_condition>
When FEAT_D128 is implemented
            </access_condition>
            <access_permission>
                <ps name="MRRS" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if HaveEL(EL3) &amp;&amp; EL3SDDUndefPriority() &amp;&amp; SCR_EL3().D128En == '0' then
        Undefined();
    elsif EL2Enabled() &amp;&amp; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGRTR_EL2().PAR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x14);
    elsif EL2Enabled() &amp;&amp; (!IsHCRXEL2Enabled() || HCRX_EL2().D128En == '0') then
        AArch64_SystemAccessTrap(EL2, 0x14);
    elsif HaveEL(EL3) &amp;&amp; SCR_EL3().D128En == '0' then
        if EL3SDDUndef() then
            Undefined();
        else
            AArch64_SystemAccessTrap(EL3, 0x14);
        end;
    else
        X{128}(t, t2) = PAR_EL1()[127:0];
    end;
elsif PSTATE.EL == EL2 then
    if HaveEL(EL3) &amp;&amp; EL3SDDUndefPriority() &amp;&amp; SCR_EL3().D128En == '0' then
        Undefined();
    elsif HaveEL(EL3) &amp;&amp; SCR_EL3().D128En == '0' then
        if EL3SDDUndef() then
            Undefined();
        else
            AArch64_SystemAccessTrap(EL3, 0x14);
        end;
    else
        X{128}(t, t2) = PAR_EL1()[127:0];
    end;
elsif PSTATE.EL == EL3 then
    X{128}(t, t2) = PAR_EL1()[127:0];
end;
                </pstext>
                </ps>
            </access_permission>
        </access_mechanism>
    
        
        <access_mechanism accessor="MSRRregister PAR_EL1" type="SystemAccessor">
            <encoding>
            <access_instruction>MSRR PAR_EL1, &lt;Xt&gt;, &lt;Xt+1&gt;</access_instruction>
                
                <enc n="op0" v="0b11"/>
                
                <enc n="op1" v="0b000"/>
                
                <enc n="CRn" v="0b0111"/>
                
                <enc n="CRm" v="0b0100"/>
                
                <enc n="op2" v="0b000"/>
            </encoding>
            <access_condition>
When FEAT_D128 is implemented
            </access_condition>
            <access_permission>
                <ps name="MSRRregister" sections="1" secttype="access_permission">
                <pstext>
if !IsFeatureImplemented(FEAT_AA64) then
    Undefined();
elsif PSTATE.EL == EL0 then
    Undefined();
elsif PSTATE.EL == EL1 then
    if HaveEL(EL3) &amp;&amp; EL3SDDUndefPriority() &amp;&amp; SCR_EL3().D128En == '0' then
        Undefined();
    elsif EL2Enabled() &amp;&amp; IsFeatureImplemented(FEAT_FGT) &amp;&amp; (!HaveEL(EL3) || SCR_EL3().FGTEn == '1') &amp;&amp; HFGWTR_EL2().PAR_EL1 == '1' then
        AArch64_SystemAccessTrap(EL2, 0x14);
    elsif EL2Enabled() &amp;&amp; (!IsHCRXEL2Enabled() || HCRX_EL2().D128En == '0') then
        AArch64_SystemAccessTrap(EL2, 0x14);
    elsif HaveEL(EL3) &amp;&amp; SCR_EL3().D128En == '0' then
        if EL3SDDUndef() then
            Undefined();
        else
            AArch64_SystemAccessTrap(EL3, 0x14);
        end;
    else
        PAR_EL1()[127:0] = X{128}(t, t2);
    end;
elsif PSTATE.EL == EL2 then
    if HaveEL(EL3) &amp;&amp; EL3SDDUndefPriority() &amp;&amp; SCR_EL3().D128En == '0' then
        Undefined();
    elsif HaveEL(EL3) &amp;&amp; SCR_EL3().D128En == '0' then
        if EL3SDDUndef() then
            Undefined();
        else
            AArch64_SystemAccessTrap(EL3, 0x14);
        end;
    else
        PAR_EL1()[127:0] = X{128}(t, t2);
    end;
elsif PSTATE.EL == EL3 then
    PAR_EL1()[127:0] = X{128}(t, t2);
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>