Controls sample filtering by events. The overall inverted filter is the logical OR of these filters. For example, if PMSNEVFR_EL1.E[3] and PMSNEVFR_EL1.E[5] are both set to 1, samples that have either event 3 (Level 1 unified or data cache refill) or event 5 (TLB walk) set to 1 are not recorded.
This register is present only when FEAT_SPEv1p2 is implemented. Otherwise, direct accesses to PMSNEVFR_EL1 are UNDEFINED.
PMSNEVFR_EL1 is a 64-bit register.
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 |
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 |
E[63] | E[62] | E[61] | E[60] | E[59] | E[58] | E[57] | E[56] | E[55] | E[54] | E[53] | E[52] | E[51] | E[50] | E[49] | E[48] | RAZ/WI | |||||||||||||||
E[31] | E[30] | E[29] | E[28] | E[27] | E[26] | E[25] | E[24] | E[23] | E[22] | E[21] | E[20] | E[19] | E[18] | E[17] | E[16] | E[15] | E[14] | E[13] | E[12] | E[11] | E[10] | E[9] | E[8] | E[7] | E[6] | E[5] | E[4] | E[3] | E[2] | E[1] | RAZ/WI |
Filter on IMPLEMENTATION DEFINED event 63.
E[63] | Meaning |
---|---|
0b0 |
Event 63 is ignored. |
0b1 |
Do not record samples that have event 63 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 62.
E[62] | Meaning |
---|---|
0b0 |
Event 62 is ignored. |
0b1 |
Do not record samples that have event 62 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 61.
E[61] | Meaning |
---|---|
0b0 |
Event 61 is ignored. |
0b1 |
Do not record samples that have event 61 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 60.
E[60] | Meaning |
---|---|
0b0 |
Event 60 is ignored. |
0b1 |
Do not record samples that have event 60 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 59.
E[59] | Meaning |
---|---|
0b0 |
Event 59 is ignored. |
0b1 |
Do not record samples that have event 59 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 58.
E[58] | Meaning |
---|---|
0b0 |
Event 58 is ignored. |
0b1 |
Do not record samples that have event 58 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 57.
E[57] | Meaning |
---|---|
0b0 |
Event 57 is ignored. |
0b1 |
Do not record samples that have event 57 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 56.
E[56] | Meaning |
---|---|
0b0 |
Event 56 is ignored. |
0b1 |
Do not record samples that have event 56 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 55.
E[55] | Meaning |
---|---|
0b0 |
Event 55 is ignored. |
0b1 |
Do not record samples that have event 55 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 54.
E[54] | Meaning |
---|---|
0b0 |
Event 54 is ignored. |
0b1 |
Do not record samples that have event 54 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 53.
E[53] | Meaning |
---|---|
0b0 |
Event 53 is ignored. |
0b1 |
Do not record samples that have event 53 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 52.
E[52] | Meaning |
---|---|
0b0 |
Event 52 is ignored. |
0b1 |
Do not record samples that have event 52 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 51.
E[51] | Meaning |
---|---|
0b0 |
Event 51 is ignored. |
0b1 |
Do not record samples that have event 51 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 50.
E[50] | Meaning |
---|---|
0b0 |
Event 50 is ignored. |
0b1 |
Do not record samples that have event 50 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 49.
E[49] | Meaning |
---|---|
0b0 |
Event 49 is ignored. |
0b1 |
Do not record samples that have event 49 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 48.
E[48] | Meaning |
---|---|
0b0 |
Event 48 is ignored. |
0b1 |
Do not record samples that have event 48 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 31.
E[31] | Meaning |
---|---|
0b0 |
Event 31 is ignored. |
0b1 |
Do not record samples that have event 31 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 30.
E[30] | Meaning |
---|---|
0b0 |
Event 30 is ignored. |
0b1 |
Do not record samples that have event 30 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 29.
E[29] | Meaning |
---|---|
0b0 |
Event 29 is ignored. |
0b1 |
Do not record samples that have event 29 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 28.
E[28] | Meaning |
---|---|
0b0 |
Event 28 is ignored. |
0b1 |
Do not record samples that have event 28 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 27.
E[27] | Meaning |
---|---|
0b0 |
Event 27 is ignored. |
0b1 |
Do not record samples that have event 27 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 26.
E[26] | Meaning |
---|---|
0b0 |
Event 26 is ignored. |
0b1 |
Do not record samples that have event 26 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Not SMCU or coprocessor operation event.
E[25] | Meaning |
---|---|
0b0 |
SMCU or external coprocessor operation event is ignored. |
0b1 |
Do not record samples that have the SMCU or external coprocessor operation event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Filter on IMPLEMENTATION DEFINED event 25.
E[25] | Meaning |
---|---|
0b0 |
Event 25 is ignored. |
0b1 |
Do not record samples that have event 25 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Non-streaming SVE mode event.
E[24] | Meaning |
---|---|
0b0 |
Streaming SVE mode event is ignored. |
0b1 |
Do not record samples that have the Streaming SVE mode event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Filter on IMPLEMENTATION DEFINED event 24.
E[24] | Meaning |
---|---|
0b0 |
Event 24 is ignored. |
0b1 |
Do not record samples that have event 24 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Data not snooped event.
E[23] | Meaning |
---|---|
0b0 |
Data snooped event is ignored. |
0b1 |
Do not record samples that have the Data snooped event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Not recently fetched event.
E[22] | Meaning |
---|---|
0b0 |
Recently fetched event is ignored. |
0b1 |
Do not record samples that have the Recently fetched event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Cache data not modified event.
E[21] | Meaning |
---|---|
0b0 |
Cache data modified event is ignored. |
0b1 |
Do not record samples that have the Cache data modified event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Level 2 data cache hit event.
E[20] | Meaning |
---|---|
0b0 |
Level 2 data cache miss event is ignored. |
0b1 |
Do not record samples that have the Level 2 data cache miss event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on No level 2 data cache access event.
E[19] | Meaning |
---|---|
0b0 |
Level 2 data cache access event is ignored. |
0b1 |
Do not record samples that have the Level 2 data cache access event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Not empty predicate event.
E[18] | Meaning |
---|---|
0b0 |
Empty predicate event is ignored. |
0b1 |
Do not record samples that have the Empty predicate event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Not partial predicate event.
E[17] | Meaning |
---|---|
0b0 |
Partial or empty predicate event is ignored. |
0b1 |
Do not record samples that have the Partial or empty predicate event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Not transactional event.
E[16] | Meaning |
---|---|
0b0 |
Transactional event is ignored. |
0b1 |
Do not record samples that have the Transactional event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 15.
E[15] | Meaning |
---|---|
0b0 |
Event 15 is ignored. |
0b1 |
Do not record samples that have event 15 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 14.
E[14] | Meaning |
---|---|
0b0 |
Event 14 is ignored. |
0b1 |
Do not record samples that have event 14 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 13.
E[13] | Meaning |
---|---|
0b0 |
Event 13 is ignored. |
0b1 |
Do not record samples that have event 13 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on IMPLEMENTATION DEFINED event 12.
E[12] | Meaning |
---|---|
0b0 |
Event 12 is ignored. |
0b1 |
Do not record samples that have event 12 == 1. |
An IMPLEMENTATION DEFINED event might be recorded as a multi-bit field. In this case, the corresponding bits of PMSNEVFR_EL1 define an IMPLEMENTATION DEFINED filter for the event.
This field is ignored by the PE when PMSFCR_EL1.FnE == 0
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Aligned event.
E[11] | Meaning |
---|---|
0b0 |
Misalignment event is ignored. |
0b1 |
Do not record samples that have the Misalignment event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on No remote access event.
E[10] | Meaning |
---|---|
0b0 |
Remote access event is ignored. |
0b1 |
Do not record samples that have the Remote access event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Last Level cache hit event.
E[9] | Meaning |
---|---|
0b0 |
Last Level cache miss event is ignored. |
0b1 |
Do not record samples that have the Last Level cache miss event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on No Last Level cache access event.
E[8] | Meaning |
---|---|
0b0 |
Last Level cache access event is ignored. |
0b1 |
Do not record samples that have the Last Level cache access event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Correctly predicted event.
E[7] | Meaning |
---|---|
0b0 |
Mispredicted event is ignored. |
0b1 |
Do not record samples that have the Mispredicted event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Filter on Taken event.
E[6] | Meaning |
---|---|
0b0 |
Not taken event is ignored. |
0b1 |
Do not record samples that have the Not taken event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on TLB hit event.
E[5] | Meaning |
---|---|
0b0 |
TLB walk event is ignored. |
0b1 |
Do not record samples that have the TLB walk event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Filter on No TLB access event.
E[4] | Meaning |
---|---|
0b0 |
TLB access event is ignored. |
0b1 |
Do not record samples that have the TLB access event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Level 1 data cache hit event.
E[3] | Meaning |
---|---|
0b0 |
Level 1 data cache refill or miss event is ignored. |
0b1 |
Do not record samples that have the Level 1 data cache refill or miss event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Filter on No Level 1 data cache access event.
E[2] | Meaning |
---|---|
0b0 |
Level 1 data cache access event is ignored. |
0b1 |
Do not record samples that have the Level 1 data cache access event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
The reset behavior of this field is:
Reserved, RAZ/WI.
Filter on Speculative event.
E[1] | Meaning |
---|---|
0b0 |
Architecturally retired event is ignored. |
0b1 |
Do not record samples that have the Architecturally retired event == 1. |
This field is ignored by the PE when PMSFCR_EL1.FnE == 0.
If the PE does not support the sampling of speculative instructions, or always discards the sample record for speculative instructions, this bit reads as an UNKNOWN value and the PE ignores its value.
The reset behavior of this field is:
Reserved, RAZ/WI.
Reserved, RAZ/WI.
Accesses to this register use the following encodings in the System register encoding space:
MRS <Xt>, PMSNEVFR_EL1
op0 | op1 | CRn | CRm | op2 |
---|---|---|---|---|
0b11 | 0b000 | 0b1001 | 0b1001 | 0b001 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if HaveEL(EL3) && EL3SDDUndefPriority() && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then UNDEFINED; elsif HaveEL(EL3) && EL3SDDUndefPriority() && MDCR_EL3.EnPMSN == '0' then UNDEFINED; elsif EL2Enabled() && IsFeatureImplemented(FEAT_FGT) && (!HaveEL(EL3) || SCR_EL3.FGTEn == '1') && HDFGRTR_EL2.nPMSNEVFR_EL1 == '0' then AArch64.SystemAccessTrap(EL2, 0x18); elsif EL2Enabled() && MDCR_EL2.TPMS == '1' then AArch64.SystemAccessTrap(EL2, 0x18); elsif HaveEL(EL3) && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif HaveEL(EL3) && MDCR_EL3.EnPMSN == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif EffectiveHCR_EL2_NVx() == '1x1' then X[t, 64] = NVMem[0x850]; else X[t, 64] = PMSNEVFR_EL1; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && EL3SDDUndefPriority() && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then UNDEFINED; elsif HaveEL(EL3) && EL3SDDUndefPriority() && MDCR_EL3.EnPMSN == '0' then UNDEFINED; elsif HaveEL(EL3) && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif HaveEL(EL3) && MDCR_EL3.EnPMSN == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); else X[t, 64] = PMSNEVFR_EL1; elsif PSTATE.EL == EL3 then X[t, 64] = PMSNEVFR_EL1;
MSR PMSNEVFR_EL1, <Xt>
op0 | op1 | CRn | CRm | op2 |
---|---|---|---|---|
0b11 | 0b000 | 0b1001 | 0b1001 | 0b001 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if HaveEL(EL3) && EL3SDDUndefPriority() && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then UNDEFINED; elsif HaveEL(EL3) && EL3SDDUndefPriority() && MDCR_EL3.EnPMSN == '0' then UNDEFINED; elsif EL2Enabled() && IsFeatureImplemented(FEAT_FGT) && (!HaveEL(EL3) || SCR_EL3.FGTEn == '1') && HDFGWTR_EL2.nPMSNEVFR_EL1 == '0' then AArch64.SystemAccessTrap(EL2, 0x18); elsif EL2Enabled() && MDCR_EL2.TPMS == '1' then AArch64.SystemAccessTrap(EL2, 0x18); elsif HaveEL(EL3) && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif HaveEL(EL3) && MDCR_EL3.EnPMSN == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif EffectiveHCR_EL2_NVx() == '1x1' then NVMem[0x850] = X[t, 64]; else PMSNEVFR_EL1 = X[t, 64]; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && EL3SDDUndefPriority() && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then UNDEFINED; elsif HaveEL(EL3) && EL3SDDUndefPriority() && MDCR_EL3.EnPMSN == '0' then UNDEFINED; elsif HaveEL(EL3) && (MDCR_EL3.NSPB[0] == '0' || MDCR_EL3.NSPB[1] != SCR_EL3.NS || (IsFeatureImplemented(FEAT_RME) && MDCR_EL3.NSPBE != SCR_EL3.NSE)) then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); elsif HaveEL(EL3) && MDCR_EL3.EnPMSN == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); else PMSNEVFR_EL1 = X[t, 64]; elsif PSTATE.EL == EL3 then PMSNEVFR_EL1 = X[t, 64];