(old) | htmldiff from- | (new) |
The ID_DFR1_EL1 characteristics are:
Provides top level information about the debug system in AArch32.
For general information about the interpretation of the ID registers see 'Principles of the ID scheme for fields in ID registers' in the Arm® Architecture Reference Manual, Armv8, for Armv8-A architecture profile, section D10.4.1.
AArch64 System register ID_DFR1_EL1 bits [31:0] are architecturally mapped to AArch32 System register ID_DFR1[31:0] .
This register is present only
whenfrom AArch32 is supported at any Exception level.Armv8.6.
Otherwise, direct accesses to ID_DFR1_EL1 are RES0.
Prior to the introduction of the features described by this register, this register was unnamed and reserved, RES0 from EL1, EL2, and EL3.
ID_DFR1_EL1 is a 64-bit register.
The ID_DFR1_EL1 bit assignments are:
63 | 62 | 61 | 60 | 59 | 58 | 57 | 56 | 55 | 54 | 53 | 52 | 51 | 50 | 49 | 48 | 47 | 46 | 45 | 44 | 43 | 42 | 41 | 40 | 39 | 38 | 37 | 36 | 35 | 34 | 33 | 32 |
RES0 | |||||||||||||||||||||||||||||||
RES0 | MTPMU | ||||||||||||||||||||||||||||||
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved, RES0.
Multi-threaded PMU extension. Defined values are:
MTPMU | Meaning |
---|---|
0b0000 | ARMv8.6-MTPMU not implemented. If PMUv3 is implemented, it is IMPLEMENTATION DEFINED whether PMEVTYPER<n>_EL0.MT are read/write or RES0. |
0b0001 | ARMv8.6-MTPMU implemented and PMEVTYPER<n>_EL0.MT are read/write. When ARMv8.6-MTPMU is disabled, the Effective values of PMEVTYPER<n>.MT are 0. |
0b1111 | ARMv8.6-MTPMU not implemented. If PMUv3 is implemented, PMEVTYPER<n>_EL0.MT are RES0. |
All other values are reserved.
ARMv8.6-MTPMU implements the functionality identified by the value 0b0001.
In an Armv8.6-compliant implementation that includes PMUv3, the value 0b0000 is not permitted.
In an implementation that does not include PMUv3, the value 0b0001 is not permitted.
Reserved, RES0.
Accesses to this register use the following encodings:
op0 | op1 | CRn | CRm | op2 |
---|---|---|---|---|
0b11 | 0b000 | 0b0000 | 0b0011 | 0b101 |
if PSTATE.EL == EL0 then if IsFeatureImplemented("ARMv8.4-IDST") then if EL2Enabled() && !ELUsingAArch32(EL2) && HCR_EL2.TGE == '1' then AArch64.SystemAccessTrap(EL2, 0x18); else AArch64.SystemAccessTrap(EL1, 0x18); else UNDEFINED; elsif PSTATE.EL == EL1 then if EL2Enabled() && !ELUsingAArch32(EL2) && (!IsZero(ID_DFR1_EL1) || boolean IMPLEMENTATION_DEFINED "ID_DFR1 trapped by HCR_EL2.TID3") && HCR_EL2.TID3 == '1' then AArch64.SystemAccessTrap(EL2, 0x18); else return ID_DFR1_EL1; elsif PSTATE.EL == EL2 then return ID_DFR1_EL1; elsif PSTATE.EL == EL3 then return ID_DFR1_EL1;
1327/1209/2019 1518:1348; 391b5248b29fb2f001ef74792eaacbd6fc72f2116134483bd14dc8c12a99c984cbfe3431cc1c9707
Copyright © 2010-2019 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.
(old) | htmldiff from- | (new) |