<?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>GICC_STATUSR</reg_short_name>
        
        <reg_long_name>CPU Interface Status Register</reg_long_name>



      
            <reg_condition otherwise="RES0">when FEAT_GICv3_LEGACY is implemented</reg_condition>
      

    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>GIC CPU interface</reg_component>
    <reg_offset><hexnumber>0x002C</hexnumber></reg_offset>
    <reg_instance>GICC_STATUSR (S)</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When GICD_CTLR.DS == '0'</reg_access_level>
          <reg_access_type>RW</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_level>When an access is Secure</reg_access_level>
          <reg_access_type>RW</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>
    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>GIC CPU interface</reg_component>
    <reg_offset><hexnumber>0x002C</hexnumber></reg_offset>
    <reg_instance>GICC_STATUSR (NS)</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When GICD_CTLR.DS == '0'</reg_access_level>
          <reg_access_type>RW</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_level>When an access is Non-secure</reg_access_level>
          <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>Provides software with a mechanism to detect:</para>

      </purpose_text>
      <purpose_text>
        <list type="unordered">
<listitem><content>Accesses to reserved locations.</content>
</listitem><listitem><content>Writes to read-only locations.</content>
</listitem><listitem><content>Reads of write-only locations.</content>
</listitem></list>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
            <reg_group>GICC</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>If the GIC implementation supports two Security states this register is Banked to provide Secure and Non-secure copies.</para>

      </configuration_text>
      <configuration_text>
        <para>This register is used only when System register access is not enabled. If System register access is enabled, this register is not updated. Equivalent functionality might be provided by appropriate traps and exceptions.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>GICC_STATUSR 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_5" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False" rwtype="RES0">
    <field_msb>31</field_msb>
    <field_lsb>5</field_lsb>
    <rel_range>31:5</rel_range>
    <field_description order="before"/>
    <field_description order="before">
      <para>Reserved, <arm-defined-word>RES0</arm-defined-word>.</para>
    </field_description>
  </field>
  <field id="fieldset_0-4_4" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>ASV</field_name>
    <field_msb>4</field_msb>
    <field_lsb>4</field_lsb>
    <rel_range>4</rel_range>
    <field_description order="before">
      <para>Attempted security violation.</para>
    </field_description>
    <field_description order="after">
      <note>
        <para>This bit is not set to 1 for registers where any of the fields are Non-secure.</para>
      </note>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Normal operation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>A Non-secure access to a Secure register has been detected.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </field>
  <field id="fieldset_0-3_3" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>WROD</field_name>
    <field_msb>3</field_msb>
    <field_lsb>3</field_lsb>
    <rel_range>3</rel_range>
    <field_description order="before">
      <para>Write to an RO location.</para>
    </field_description>
    <field_description order="after">
      <para>When a violation is detected, software must write 1 to this register to reset it.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Normal operation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>A write to an RO location has been detected.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </field>
  <field id="fieldset_0-2_2" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>RWOD</field_name>
    <field_msb>2</field_msb>
    <field_lsb>2</field_lsb>
    <rel_range>2</rel_range>
    <field_description order="before">
      <para>Read of a WO location.</para>
    </field_description>
    <field_description order="after">
      <para>When a violation is detected, software must write 1 to this register to reset it.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Normal operation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>A read of a WO location has been detected.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </field>
  <field id="fieldset_0-1_1" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="False" is_partial_field="False" is_conditional_field_name="False">
    <field_name>WRD</field_name>
    <field_msb>1</field_msb>
    <field_lsb>1</field_lsb>
    <rel_range>1</rel_range>
    <field_description order="before">
      <para>Write to a reserved location.</para>
    </field_description>
    <field_description order="after">
      <para>When a violation is detected, software must write 1 to this register to reset it.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Normal operation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>A write to a reserved location has been detected.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </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>RRD</field_name>
    <field_msb>0</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>0</rel_range>
    <field_description order="before">
      <para>Read of a reserved location.</para>
    </field_description>
    <field_description order="after">
      <para>When a violation is detected, software must write 1 to this register to reset it.</para>
    </field_description>
    <field_values impdef="False">
      <field_value_instance>
        <field_value>0b0</field_value>
        <field_value_description>
          <para>Normal operation.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>A read of a reserved location has been detected.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_5" msb="31" lsb="5"/>
  <fieldat id="fieldset_0-4_4" msb="4" lsb="4"/>
  <fieldat id="fieldset_0-3_3" msb="3" lsb="3"/>
  <fieldat id="fieldset_0-2_2" msb="2" lsb="2"/>
  <fieldat id="fieldset_0-1_1" msb="1" lsb="1"/>
  <fieldat id="fieldset_0-0_0" msb="0" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          


  
    
      <access_permission_text>
        <para>This is an optional register. If the register is not implemented, the location is RAZ/WI.</para>

      </access_permission_text>
      <access_permission_text>
        <para>If this register is implemented, <register_link state="ext" id="ext-gicv_statusr.xml">GICV_STATUSR</register_link> must also be implemented.</para>
      </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>