<?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;</reg_short_name>
        
        <reg_long_name>Non-maskable Interrupt Registers, x = 0 to 31</reg_long_name>



      
            <reg_condition otherwise="RES0">when 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>0x0F80</hexnumber> + (4 * n)</reg_offset>
    <reg_instance>GICD_INMIR&lt;n&gt;</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 has the non-maskable property.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
            <reg_group>GICD</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>The number of implemented GICD_INMIR&lt;n&gt; registers is (<register_link state="ext" id="ext-gicd_typer.xml">GICD_TYPER</register_link>.ITLinesNumber+1). Registers are numbered from 0.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>GICD_INMIR&lt;n&gt; 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>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_INMI&lt;n&gt; number, n, is given by n = (m DIV 32).</content>
</listitem><listitem><content>The offset of the required GICD_INMI is (<hexnumber>0xF80</hexnumber> + (4*n)).</content>
</listitem><listitem><content>The bit number of the required in this register is (m 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>For SGIs and PPIs:</para>

      </access_permission_text>
      <access_permission_text>
        <list type="unordered">
<listitem><content>The field for that interrupt is <arm-defined-word>RES0</arm-defined-word> and an implementation is permitted to make the field RAZ/WI in this case.</content>
</listitem><listitem><content>Equivalent functionality is provided by GICR_INMIR0.</content>
</listitem></list>

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