<?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>MPAMF_AIDR</reg_short_name>
        
        <reg_long_name>MPAM Architecture Identification Register</reg_long_name>

        <power_domain_text>The power domain of MPAMF_AIDR is <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word></power_domain_text>


      
            <reg_condition otherwise="RES0">when FEAT_MPAMv1p0 is implemented or FEAT_MPAMv0p1 is implemented</reg_condition>
      

    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>MPAM</reg_component>
    <reg_frame>MPAMF_BASE_s</reg_frame>
    <reg_offset><hexnumber>0x0020</hexnumber></reg_offset>
    <reg_instance>MPAMF_AIDR_s</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When FEAT_MPAMv1p0 is implemented or FEAT_MPAMv0p1 is implemented</reg_access_level>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>
    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>MPAM</reg_component>
    <reg_frame>MPAMF_BASE_ns</reg_frame>
    <reg_offset><hexnumber>0x0020</hexnumber></reg_offset>
    <reg_instance>MPAMF_AIDR_ns</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When FEAT_MPAMv1p0 is implemented or FEAT_MPAMv0p1 is implemented</reg_access_level>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>
    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>MPAM</reg_component>
    <reg_frame>MPAMF_BASE_rt</reg_frame>
    <reg_offset><hexnumber>0x0020</hexnumber></reg_offset>
    <reg_instance>MPAMF_AIDR_rt</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When FEAT_RME is implemented and (FEAT_MPAMv1p0 is implemented or FEAT_MPAMv0p1 is implemented)</reg_access_level>
          <reg_access_type>RO</reg_access_type>
      </reg_access_state>
    </reg_access>
</reg_address>
    
  <reg_address
      external_access="False"
    mem_map_access="True"
      power_domain="None"
  >
    <reg_component>MPAM</reg_component>
    <reg_frame>MPAMF_BASE_rl</reg_frame>
    <reg_offset><hexnumber>0x0020</hexnumber></reg_offset>
    <reg_instance>MPAMF_AIDR_rl</reg_instance>
    <reg_access>
      
        
      <reg_access_state>
          <reg_access_level>When FEAT_RME is implemented and (FEAT_MPAMv1p0 is implemented or FEAT_MPAMv0p1 is implemented)</reg_access_level>
          <reg_access_type>RO</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>Identifies the version of the MPAM architecture that this MSC implements.</para>
      </purpose_text>

        </reg_purpose>

      <reg_groups>
          <reg_group>MPAM</reg_group>
      </reg_groups>
      <reg_configuration>
        
    
      <configuration_text>
        <para>The power and reset domain of each MSC component is specific to that component.</para>
      </configuration_text>

      </reg_configuration>
      
      
        
      <reg_attributes>
          
    
      <attributes_text>
        <para>MPAMF_AIDR 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_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" rwtype="RES0">
    <field_msb>31</field_msb>
    <field_lsb>8</field_lsb>
    <rel_range>31:8</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-7_4" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>ArchMajorRev</field_name>
    <field_msb>7</field_msb>
    <field_lsb>4</field_lsb>
    <rel_range>7:4</rel_range>
    <field_description order="before">
      <para>Major revision of the MPAM architecture implemented by the MSC.</para>
    </field_description>
    <field_description order="after"><para>This table shows the only valid combinations of MPAM version numbers in an MSC. FORCE_NS functionality is only available in MPAM v0.1.</para>
<table><tgroup cols="4"><thead><row><entry>ArchMajorRev</entry><entry>ArchMinorRev</entry><entry>MPAMv</entry><entry>Available</entry></row></thead><tbody><row><entry>0</entry><entry>0</entry><entry/><entry>None.</entry></row><row><entry>0</entry><entry>1</entry><entry>v0.1</entry><entry>MPAMv1.0 + MPAMv1.1 + FORCE_NS</entry></row><row><entry>1</entry><entry>0</entry><entry>v1.0</entry><entry>MPAMv1.0</entry></row><row><entry>1</entry><entry>1</entry><entry>v1.1</entry><entry>MPAMv1.0 + MPAMv1.1 - FORCE_NS</entry></row></tbody></tgroup></table>
<para>Use of MPAMv0.1 in MSCs is restricted to limited circumstances. The MSC must be able to initiate requests in the Secure address space which have MPAM PARTID forced to the Non-secure space with that forcing not controllable or observable by the software that configures the device for Secure requests. Please contact Arm before setting MPAMF_AIDR to report MPAMv0.1.</para>
<para>This field has an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value.</para></field_description>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <field id="fieldset_0-3_0" has_partial_fieldset="False" is_linked_to_partial_fieldset="False" is_access_restriction_possible="False" is_variable_length="False" is_constant_value="True" is_partial_field="False" is_conditional_field_name="False">
    <field_name>ArchMinorRev</field_name>
    <field_msb>3</field_msb>
    <field_lsb>0</field_lsb>
    <rel_range>3:0</rel_range>
    <field_description order="before">
      <para>Minor revision of the MPAM architecture implemented by the MSC.</para>
    </field_description>
    <field_description order="after"><para>See the table in the description of the ArchMajorRev field in this register.</para>
<para>This field has an <arm-defined-word>IMPLEMENTATION DEFINED</arm-defined-word> value.</para></field_description>
    <field_access>
      <field_access_state>
        <field_access_type>RO</field_access_type>
      </field_access_state>
    </field_access>
  </field>
  <text_after_fields/>
</fields>




<reg_fieldset length="32">
  <fieldat id="fieldset_0-31_8" msb="31" lsb="8"/>
  <fieldat id="fieldset_0-7_4" msb="7" lsb="4"/>
  <fieldat id="fieldset_0-3_0" msb="3" lsb="0"/>
</reg_fieldset>


      </reg_fieldsets>

      <access_mechanisms>
          


  
    
      <access_permission_text>
        <para>This register is within the MPAM feature page memory frames.</para>

      </access_permission_text>
      <access_permission_text>
        <para>If <xref linkend="#FEAT_MPAM">FEAT_MPAM</xref> is implemented, the following statements apply:</para>

      </access_permission_text>
      <access_permission_text>
        <list type="unordered">
<listitem><content>
<para>In a system that supports Secure and Non-secure memory maps, there must be both Secure and Non-secure MPAM feature pages.</para>
</content>
</listitem><listitem><content>
<para>MPAMF_AIDR must be readable from the Non-secure and Secure MPAM feature pages.</para>
</content>
</listitem><listitem><content>
<para>MPAMF_AIDR must have the same contents in the Secure and Non-secure MPAM feature pages.</para>
</content>
</listitem></list>

      </access_permission_text>
      <access_permission_text>
        <para>If both <xref linkend="#FEAT_MPAM">FEAT_MPAM</xref> and <xref linkend="#FEAT_RME">FEAT_RME</xref> are implemented, the following statements apply:</para>

      </access_permission_text>
      <access_permission_text>
        <list type="unordered">
<listitem><content>
<para>In a system that supports Secure, Non-secure, Root, and Realm memory maps, there must be MPAM feature pages in all four address maps.</para>
</content>
</listitem><listitem><content>
<para>MPAMF_AIDR must be readable from the Secure, Non-secure, Root, and Realm MPAM feature pages.</para>
</content>
</listitem><listitem><content>
<para>MPAMF_AIDR must have the same contents in the Secure, Non-secure, Root, and Realm MPAM feature pages.</para>
</content>
</listitem></list>
      </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>