<?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>GICD_INMIR&lt;n&gt;E</reg_short_name>
        
        <reg_long_name>Non-maskable Interrupt Registers for Extended SPIs, x = 0 to 31</reg_long_name>



      
            <reg_condition otherwise="RES0">when GICv3.1 is implemented and GICD_TYPER.NMI == '1'</reg_condition>
          <reg_array>
              <reg_array_start>0</reg_array_start>
              <reg_array_end>31</reg_array_end>
         </reg_array>
      

    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>GIC Distributor</reg_component>
    <reg_frame>Dist_base</reg_frame>
    <reg_offset><hexnumber>0x3B00</hexnumber> + (4 * n)</reg_offset>
    <reg_instance>GICD_INMIR&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 whether the corresponding SPI in the extended SPI range has the non-maskable property.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
            <reg_group>GICD</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>When <register_link state="ext" id="ext-gicd_typer.xml">GICD_TYPER</register_link>.ESPI is 0, these registers are <arm-defined-word>RES0</arm-defined-word>.</para>

      </configuration_text>
      <configuration_text>
        <para>When <register_link state="ext" id="ext-gicd_typer.xml">GICD_TYPER</register_link>.ESPI is 1: the number of implemented GICD_INMIR&lt;n&gt;E registers is (<register_link state="ext" id="ext-gicd_typer.xml">GICD_TYPER</register_link>.ESPI_range+1). Registers are numbered from 0.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>GICD_INMIR&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_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>NMI&lt;x&gt;</field_name>
    <field_msb>31</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>31:0</rel_range>
    <field_description order="before">
      <para>Non-maskable property.</para>
    </field_description>
    <field_description order="after"><para>If affinity routing is disabled for the Security state of an interrupt, the bit is <arm-defined-word>RES0</arm-defined-word>.</para>
<para>This bit is <arm-defined-word>RES0</arm-defined-word> when the corresponding interrupt is configured as Group 0.</para></field_description>
    <field_array_indexes index_variable="x" element_size="1" range_specifier="x">
      <field_array_index>
        <field_array_start>31</field_array_start>
        <field_array_end>0</field_array_end>
      </field_array_index>
    </field_array_indexes>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Interrupt does not have the non-maskable property.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>Interrupt has the non-maskable property.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
    <field_resets>
      <field_reset reset_type="GIC">
        <field_reset_expression>0x00000000</field_reset_expression>
      </field_reset>
    </field_resets>
  </field>
  <text_after_fields><para>For INTID m, when DIV and MOD are the integer division and modulo operations:</para>
<list type="unordered">
<listitem><content>The corresponding GICD_INMIR&lt;n&gt;E number, n, is given by n = ((m-4096) DIV 32).</content>
</listitem><listitem><content>The offset of the required GICD_INMIR&lt;n&gt;E is (<hexnumber>0x3B00</hexnumber> + (4*n)).</content>
</listitem><listitem><content>The bit number in this register is ((m-4096) MOD 32).</content>
</listitem></list></text_after_fields>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_0" label="NMI31" msb="31" lsb="31"/>
  <fieldat id="fieldset_0-31_0" label="NMI30" msb="30" lsb="30"/>
  <fieldat id="fieldset_0-31_0" label="NMI29" msb="29" lsb="29"/>
  <fieldat id="fieldset_0-31_0" label="NMI28" msb="28" lsb="28"/>
  <fieldat id="fieldset_0-31_0" label="NMI27" msb="27" lsb="27"/>
  <fieldat id="fieldset_0-31_0" label="NMI26" msb="26" lsb="26"/>
  <fieldat id="fieldset_0-31_0" label="NMI25" msb="25" lsb="25"/>
  <fieldat id="fieldset_0-31_0" label="NMI24" msb="24" lsb="24"/>
  <fieldat id="fieldset_0-31_0" label="NMI23" msb="23" lsb="23"/>
  <fieldat id="fieldset_0-31_0" label="NMI22" msb="22" lsb="22"/>
  <fieldat id="fieldset_0-31_0" label="NMI21" msb="21" lsb="21"/>
  <fieldat id="fieldset_0-31_0" label="NMI20" msb="20" lsb="20"/>
  <fieldat id="fieldset_0-31_0" label="NMI19" msb="19" lsb="19"/>
  <fieldat id="fieldset_0-31_0" label="NMI18" msb="18" lsb="18"/>
  <fieldat id="fieldset_0-31_0" label="NMI17" msb="17" lsb="17"/>
  <fieldat id="fieldset_0-31_0" label="NMI16" msb="16" lsb="16"/>
  <fieldat id="fieldset_0-31_0" label="NMI15" msb="15" lsb="15"/>
  <fieldat id="fieldset_0-31_0" label="NMI14" msb="14" lsb="14"/>
  <fieldat id="fieldset_0-31_0" label="NMI13" msb="13" lsb="13"/>
  <fieldat id="fieldset_0-31_0" label="NMI12" msb="12" lsb="12"/>
  <fieldat id="fieldset_0-31_0" label="NMI11" msb="11" lsb="11"/>
  <fieldat id="fieldset_0-31_0" label="NMI10" msb="10" lsb="10"/>
  <fieldat id="fieldset_0-31_0" label="NMI9" msb="9" lsb="9"/>
  <fieldat id="fieldset_0-31_0" label="NMI8" msb="8" lsb="8"/>
  <fieldat id="fieldset_0-31_0" label="NMI7" msb="7" lsb="7"/>
  <fieldat id="fieldset_0-31_0" label="NMI6" msb="6" lsb="6"/>
  <fieldat id="fieldset_0-31_0" label="NMI5" msb="5" lsb="5"/>
  <fieldat id="fieldset_0-31_0" label="NMI4" msb="4" lsb="4"/>
  <fieldat id="fieldset_0-31_0" label="NMI3" msb="3" lsb="3"/>
  <fieldat id="fieldset_0-31_0" label="NMI2" msb="2" lsb="2"/>
  <fieldat id="fieldset_0-31_0" label="NMI1" msb="1" lsb="1"/>
  <fieldat id="fieldset_0-31_0" label="NMI0" msb="0" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>
        <reg_variables>
              <reg_variable variable="n" max="31"/>
        </reg_variables>

      <access_mechanisms>
          


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

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

      </access_permission_text>
      <access_permission_text>
        <para>When <register_link state="ext" id="ext-gicd_ctlr.xml">GICD_CTLR</register_link>.DS==0, bits corresponding to Group 0 and Secure Group 1 interrupts are RAZ/WI to Non-secure accesses.</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 one time. 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>