<?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 is_register="True" is_internal="False" is_stub_entry="False">
      <reg_short_name>GICR_IPRIORITYR&lt;n&gt;E</reg_short_name>
        
        <reg_long_name>Interrupt Priority Registers (extended PPI range)</reg_long_name>



      
            <reg_condition otherwise="RES0">when GICv3.1 is implemented</reg_condition>
          <reg_array>
              <reg_array_start>8</reg_array_start>
              <reg_array_end>23</reg_array_end>
         </reg_array>
      

    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>GIC Redistributor</reg_component>
    <reg_frame>SGI_base</reg_frame>
    <reg_offset><hexnumber>0x0400</hexnumber> + (4 * n)</reg_offset>
    <reg_instance>GICR_IPRIORITYR&lt;n&gt;E</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_type>RW</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>



          <reg_reset_value></reg_reset_value>

      <reg_mappings>
        




      </reg_mappings>

        <reg_purpose>
          
    
      <purpose_text>
        <para>Holds the priority of the corresponding interrupt for each extended PPI supported by the GIC.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
            <reg_group>GICR</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>A copy of this register is provided for each Redistributor.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>GICR_IPRIORITYR&lt;n&gt;E is a 32-bit register.</para>
      </attributes_text>

      </reg_attributes>
      <reg_fieldsets>
        






<fields id="fieldset_0" length="32">
  <text_before_fields/>
  <field id="fieldset_0-31_24" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>Priority_offset_3B</field_name>
    <field_msb>31</field_msb>
    <field_lsb>24</field_lsb>
    <rel_range>31:24</rel_range>
    <field_description order="before">
      <para>Interrupt priority value from an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> range, at byte offset 3. Lower priority values correspond to greater priority of the interrupt. For an INTID configured as non-maskable, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_resets>
      <field_reset reset_type="GIC">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <field id="fieldset_0-23_16" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>Priority_offset_2B</field_name>
    <field_msb>23</field_msb>
    <field_lsb>16</field_lsb>
    <rel_range>23:16</rel_range>
    <field_description order="before">
      <para>Interrupt priority value from an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> range, at byte offset 2. Lower priority values correspond to greater priority of the interrupt. For an INTID configured as non-maskable, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_resets>
      <field_reset reset_type="GIC">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <field id="fieldset_0-15_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>Priority_offset_1B</field_name>
    <field_msb>15</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>15:8</rel_range>
    <field_description order="before">
      <para>Interrupt priority value from an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> range, at byte offset 1. Lower priority values correspond to greater priority of the interrupt. For an INTID configured as non-maskable, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_resets>
      <field_reset reset_type="GIC">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <field id="fieldset_0-7_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>Priority_offset_0B</field_name>
    <field_msb>7</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>7:0</rel_range>
    <field_description order="before">
      <para>Interrupt priority value from an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> range, at byte offset 0. Lower priority values correspond to greater priority of the interrupt. For an INTID configured as non-maskable, this field is <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
    <field_resets>
      <field_reset reset_type="GIC">
        <field_reset_standard_text>AU</field_reset_standard_text>
      </field_reset>
    </field_resets>
  </field>
  <text_after_fields><para>For interrupt ID m, when DIV and MOD are the integer division and modulo operations:</para>
<list type="unordered">
<listitem><content>The corresponding GICR_IPRIORITYR&lt;n&gt; number, n, is given by n = (m-1024) DIV 4.</content>
</listitem><listitem><content>The offset of the required GICR_IPRIORITYR&lt;n&gt;E register is (<hexnumber>0x400</hexnumber> + (4*n)).</content>
</listitem><listitem><content>The byte offset of the required Priority field in this register is m MOD 4, where:<list type="unordered">
<listitem><content>Byte offset 0 refers to register bits [7:0].</content>
</listitem><listitem><content>Byte offset 1 refers to register bits [15:8].</content>
</listitem><listitem><content>Byte offset 2 refers to register bits [23:16].</content>
</listitem><listitem><content>Byte offset 3 refers to register bits [31:24].</content>
</listitem></list>
</content>
</listitem></list></text_after_fields>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_24" msb="31" lsb="24"/>
  <fieldat id="fieldset_0-23_16" msb="23" lsb="16"/>
  <fieldat id="fieldset_0-15_8" msb="15" lsb="8"/>
  <fieldat id="fieldset_0-7_0" msb="7" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>
        <reg_variables>
              <reg_variable variable="n" min="8" max="23"/>
        </reg_variables>

      <access_mechanisms>
          


  
    
      <access_permission_text>
        <para>When affinity routing is not enabled for the Security state of an interrupt in GICR_ISACTIVER&lt;n&gt;E, the corresponding bit is <arm-defined-word>RES0</arm-defined-word>.</para>

      </access_permission_text>
      <access_permission_text>
        <para>When <register_link state="ext" id="ext-gicd_ctlr.xml">GICD_CTLR</register_link>.DS==0:</para>

      </access_permission_text>
      <access_permission_text>
        <list type="unordered">
<listitem><content>
<para>A field that corresponds to a Group 0 or Secure Group 1 interrupt is RAZ/WI to Non-secure accesses.</para>
</content>
</listitem><listitem><content>
<para>A Non-secure access to a field that corresponds to a Non-secure Group 1 interrupt behaves as described in Software accesses of interrupt priority.</para>
</content>
</listitem></list>

      </access_permission_text>
      <access_permission_text>
        <para>Bits corresponding to unimplemented interrupts are RAZ/WI.</para>

      </access_permission_text>
      <access_permission_text>
        <note><para>Implementations must ensure that an interrupt that is pending at the time of the write uses either the old value or the new value and must ensure that the interrupt is neither lost nor handled more than once. The effect of the change must be visible in finite time.</para></note>
      </access_permission_text>





    

      </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>