<?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>PMCEID0</reg_short_name>
        
        <reg_long_name>Performance Monitors Common Event Identification register 0</reg_long_name>


        <reg_parent_link id="pmu.xml">PMU</reg_parent_link>

      
            <reg_condition otherwise="RES0">when FEAT_PMUv3_EXT32 is implemented and FEAT_PMUv3 is implemented</reg_condition>
      



    
    <reg_address
        external_access="False"
        mem_map_access="False"
        block_access="True"
        memory_access="True"
        table_id="PMUacccessor0"
    >
  
  <reg_frame>PMU</reg_frame>
  
    
    <reg_offset><hexnumber>0xE20</hexnumber></reg_offset>
    <reg_access>
    
        
      <reg_access_state>
          <reg_access_level>When DoubleLockStatus(), or !IsCorePowered(), or !AllowExternalPMUAccess(addrdesc)</reg_access_level>
          <reg_access_type>ERROR</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_level>When (FEAT_PMUv3_EXTPMN is not implemented, or !IsMostSecureAccess(addrdesc), or PMCCR().OSLO == '0') and OSLockStatus()</reg_access_level>
          <reg_access_type>ERROR</reg_access_type>
      </reg_access_state>
        
      <reg_access_state>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>


          <reg_reset_value></reg_reset_value>

      <reg_mappings>
        



    
      
      <reg_mapping>
        
  

    

  

    <mapped_name filename="AArch64-pmceid0_el0.xml">PMCEID0_EL0</mapped_name>
  <mapped_type>Architectural</mapped_type>
      <mapped_execution_state>AArch64</mapped_execution_state>
    <mapped_from_startbit>31</mapped_from_startbit>
    <mapped_from_endbit>0</mapped_from_endbit>
    <mapped_to_startbit>31</mapped_to_startbit>
    <mapped_to_endbit>0</mapped_to_endbit>
    <mapped_from_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_from_rangeset>
    <mapped_to_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_to_rangeset>

      </reg_mapping>
    
      
      <reg_mapping>
        
  

    

  

    <mapped_name filename="AArch32-pmceid0.xml">PMCEID0</mapped_name>
  <mapped_type>Architectural</mapped_type>
      <mapped_execution_state>AArch32</mapped_execution_state>
    <mapped_from_startbit>31</mapped_from_startbit>
    <mapped_from_endbit>0</mapped_from_endbit>
    <mapped_to_startbit>31</mapped_to_startbit>
    <mapped_to_endbit>0</mapped_to_endbit>
    <mapped_from_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_from_rangeset>
    <mapped_to_rangeset output="31:0">
      <range>
        <msb>31</msb>
        <lsb>0</lsb>
      </range>
    </mapped_to_rangeset>

      </reg_mapping>

      </reg_mappings>

        <reg_purpose>
          
    
      <purpose_text>
        <para>Defines which Common architectural events and Common microarchitectural events are implemented, or counted, using PMU events in the range <hexnumber>0x0000</hexnumber> to <hexnumber>0x001F</hexnumber>.</para>

      </purpose_text>
      <purpose_text>
        <para>For more information about the Common events and the use of the PMCEIDn registers, see <xref linkend="#CACIDECJ">'The PMU event number space and common events'</xref>.</para>

      </purpose_text>
      <purpose_text>
        <para>Use of this register is deprecated.</para>

      </purpose_text>
      <purpose_text>
        <note><para>This view of the register was previously called PMCEID0_EL0.</para></note>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>PMU</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>PMCEID0 is in the Core power domain.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>PMCEID0 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>ID&lt;n&gt;</field_name>
    <field_msb>31</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>31:0</rel_range>
    <field_description order="before"><para>ID[n] corresponds to Common event n.</para>
<para>For each bit:</para></field_description>
    <field_description order="after"><para>When the value of a bit in the field is 1, the corresponding Common event is implemented and counted.</para>
<note><para>Arm recommends that if a Common event is never counted, the value of the corresponding bit is 0.</para></note><para>A bit that corresponds to a reserved event number is reserved. The value might be used in a future revision of the architecture to identify an additional Common event.</para>
<note><para>Such an event might be added retrospectively to an earlier version of the PMU architecture, provided the event does not require any additional PMU features and has an event number that can be represented in the PMCEID&lt;n&gt; registers of that earlier version of the PMU architecture.</para></note></field_description>
    <field_array_indexes index_variable="n" element_size="1" range_specifier="n">
      <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>The Common event is not implemented, or not counted.</para>
        </field_value_description>
      </field_value_instance>
      <field_value_instance>
        <field_value>0b1</field_value>
        <field_value_description>
          <para>The Common event is implemented.</para>
        </field_value_description>
      </field_value_instance>
    </field_values>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_0" label="ID31" msb="31" lsb="31"/>
  <fieldat id="fieldset_0-31_0" label="ID30" msb="30" lsb="30"/>
  <fieldat id="fieldset_0-31_0" label="ID29" msb="29" lsb="29"/>
  <fieldat id="fieldset_0-31_0" label="ID28" msb="28" lsb="28"/>
  <fieldat id="fieldset_0-31_0" label="ID27" msb="27" lsb="27"/>
  <fieldat id="fieldset_0-31_0" label="ID26" msb="26" lsb="26"/>
  <fieldat id="fieldset_0-31_0" label="ID25" msb="25" lsb="25"/>
  <fieldat id="fieldset_0-31_0" label="ID24" msb="24" lsb="24"/>
  <fieldat id="fieldset_0-31_0" label="ID23" msb="23" lsb="23"/>
  <fieldat id="fieldset_0-31_0" label="ID22" msb="22" lsb="22"/>
  <fieldat id="fieldset_0-31_0" label="ID21" msb="21" lsb="21"/>
  <fieldat id="fieldset_0-31_0" label="ID20" msb="20" lsb="20"/>
  <fieldat id="fieldset_0-31_0" label="ID19" msb="19" lsb="19"/>
  <fieldat id="fieldset_0-31_0" label="ID18" msb="18" lsb="18"/>
  <fieldat id="fieldset_0-31_0" label="ID17" msb="17" lsb="17"/>
  <fieldat id="fieldset_0-31_0" label="ID16" msb="16" lsb="16"/>
  <fieldat id="fieldset_0-31_0" label="ID15" msb="15" lsb="15"/>
  <fieldat id="fieldset_0-31_0" label="ID14" msb="14" lsb="14"/>
  <fieldat id="fieldset_0-31_0" label="ID13" msb="13" lsb="13"/>
  <fieldat id="fieldset_0-31_0" label="ID12" msb="12" lsb="12"/>
  <fieldat id="fieldset_0-31_0" label="ID11" msb="11" lsb="11"/>
  <fieldat id="fieldset_0-31_0" label="ID10" msb="10" lsb="10"/>
  <fieldat id="fieldset_0-31_0" label="ID9" msb="9" lsb="9"/>
  <fieldat id="fieldset_0-31_0" label="ID8" msb="8" lsb="8"/>
  <fieldat id="fieldset_0-31_0" label="ID7" msb="7" lsb="7"/>
  <fieldat id="fieldset_0-31_0" label="ID6" msb="6" lsb="6"/>
  <fieldat id="fieldset_0-31_0" label="ID5" msb="5" lsb="5"/>
  <fieldat id="fieldset_0-31_0" label="ID4" msb="4" lsb="4"/>
  <fieldat id="fieldset_0-31_0" label="ID3" msb="3" lsb="3"/>
  <fieldat id="fieldset_0-31_0" label="ID2" msb="2" lsb="2"/>
  <fieldat id="fieldset_0-31_0" label="ID1" msb="1" lsb="1"/>
  <fieldat id="fieldset_0-31_0" label="ID0" msb="0" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          


  
    
      <access_permission_text>
        <note><para><function>AllowExternalPMUAccess()</function> has a new definition from Armv8.4. Refer to the Pseudocode definitions for more information.</para></note>
      </access_permission_text>





    
        
        <access_mechanism type="BlockAccessAbstract" table_id="PMUacccessor0">
        
        
        
        
        <access_header>Accessible at offset <hexnumber>0xE20</hexnumber> from PMU</access_header>
    </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>