Provides controls for traps of MSRR, MSR and MCR writes of System registers.
This register is present only when FEAT_FGT is implemented. Otherwise, direct accesses to HFGWTR_EL2 are UNDEFINED.
If EL2 is not implemented, this register is RES0 from EL3.
HFGWTR_EL2 is a 64-bit register.
Trap MSR writes of AMAIR2_EL1 at EL1 using AArch64 to EL2.
nAMAIR2_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of AMAIR2_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of AMAIR2_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of MAIR2_EL1 at EL1 using AArch64 to EL2.
nMAIR2_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of MAIR2_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of MAIR2_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of S2POR_EL1 at EL1 using AArch64 to EL2.
nS2POR_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of S2POR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of S2POR_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of POR_EL1 at EL1 using AArch64 to EL2.
nPOR_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of POR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of POR_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of POR_EL0 at EL1 and EL0 using AArch64 to EL2.
nPOR_EL0 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, the Effective value of HCR_EL2.{E2H, TGE} is not {1, 1}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of POR_EL0 at EL1 and EL0 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of POR_EL0 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of PIR_EL1 at EL1 using AArch64 to EL2.
nPIR_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of PIR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of PIR_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of PIRE0_EL1 at EL1 using AArch64 to EL2.
nPIRE0_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of PIRE0_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of PIRE0_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR or MSRR writes of RCWMASK_EL1 at EL1 using AArch64 to EL2.
nRCWMASK_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of RCWMASK_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of RCWMASK_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of TPIDR2_EL0 at EL1 and EL0 using AArch64 to EL2.
nTPIDR2_EL0 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, the Effective value of HCR_EL2.{E2H, TGE} is not {1, 1}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of TPIDR2_EL0 at EL1 and EL0 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of TPIDR2_EL0 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of SMPRI_EL1 at EL1 using AArch64 to EL2.
nSMPRI_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of SMPRI_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of SMPRI_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
nGCS_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of the specified System registers are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
nGCS_EL0 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of the specified System registers are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of ACCDATA_EL1 at EL1 using AArch64 to EL2.
nACCDATA_EL1 | Meaning |
---|---|
0b0 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ACCDATA_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
0b1 |
MSR writes of ACCDATA_EL1 are not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of ERXADDR_EL1 at EL1 using AArch64 to EL2.
ERXADDR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERXADDR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERXADDR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of ERXPFGCDN_EL1 at EL1 using AArch64 to EL2.
ERXPFGCDN_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERXPFGCDN_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERXPFGCDN_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of ERXPFGCTL_EL1 at EL1 using AArch64 to EL2.
ERXPFGCTL_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERXPFGCTL_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERXPFGCTL_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
ERXMISCn_EL1 | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of ERXSTATUS_EL1 at EL1 using AArch64 to EL2.
ERXSTATUS_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERXSTATUS_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERXSTATUS_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of ERXCTLR_EL1 at EL1 using AArch64 to EL2.
ERXCTLR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERXCTLR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERXCTLR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of ERRSELR_EL1 at EL1 using AArch64 to EL2.
ERRSELR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ERRSELR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ERRSELR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
Accessing this field has the following behavior:
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of ICC_IGRPEN<n>_EL1 at EL1 using AArch64 to EL2.
ICC_IGRPENn_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ICC_IGRPEN<n>_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ICC_IGRPEN<n>_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR or MSRR writes of VBAR_EL1 at EL1 using AArch64 to EL2.
VBAR_EL1 | Meaning |
---|---|
0b0 |
MSR or MSRR writes of VBAR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR or MSRR writes of VBAR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR or MSRR writes of TTBR1_EL1 at EL1 using AArch64 to EL2.
TTBR1_EL1 | Meaning |
---|---|
0b0 |
MSR or MSRR writes of TTBR1_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR or MSRR writes of TTBR1_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR or MSRR writes of TTBR0_EL1 at EL1 using AArch64 to EL2.
TTBR0_EL1 | Meaning |
---|---|
0b0 |
MSR or MSRR writes of TTBR0_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR or MSRR writes of TTBR0_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of TPIDR_EL0 at EL1 and EL0 using AArch64 and MCR writes of TPIDRURW at EL0 using AArch32 when EL1 is using AArch64 to EL2.
TPIDR_EL0 | Meaning |
---|---|
0b0 |
MSR writes of TPIDR_EL0 at EL1 and EL0 using AArch64 and MCR writes of TPIDRURW at EL0 using AArch32 are not trapped by this mechanism. |
0b1 | If EL2 is implemented and enabled in the current Security state, the Effective value of HCR_EL2.{E2H, TGE} is not {1, 1}, EL1 is using AArch64, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then, unless the write generates a higher priority exception: |
The reset behavior of this field is:
Trap MSR writes of TPIDRRO_EL0 at EL1 using AArch64 to EL2.
TPIDRRO_EL0 | Meaning |
---|---|
0b0 |
MSR writes of TPIDRRO_EL0 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of TPIDRRO_EL0 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of TPIDR_EL1 at EL1 using AArch64 to EL2.
TPIDR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of TPIDR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of TPIDR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of any of the following registers at EL1 using AArch64 to EL2.
TCR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of the specified registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of the specified registers at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of SCXTNUM_EL0 at EL1 and EL0 using AArch64 to EL2.
SCXTNUM_EL0 | Meaning |
---|---|
0b0 |
MSR writes of SCXTNUM_EL0 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, the Effective value of HCR_EL2.{E2H, TGE} is not {1, 1}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of SCXTNUM_EL0 at EL1 and EL0 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of SCXTNUM_EL1 at EL1 using AArch64 to EL2.
SCXTNUM_EL1 | Meaning |
---|---|
0b0 |
MSR writes of SCXTNUM_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of SCXTNUM_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of any of the following registers at EL1 using AArch64 to EL2.
SCTLR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of the specified registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of the specified registers at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR or MSRR writes of PAR_EL1 at EL1 using AArch64 to EL2.
PAR_EL1 | Meaning |
---|---|
0b0 |
MSR or MSRR writes of PAR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR or MSRR writes of PAR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of MAIR_EL1 at EL1 using AArch64 to EL2.
MAIR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of MAIR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of MAIR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of LORSA_EL1 at EL1 using AArch64 to EL2.
LORSA_EL1 | Meaning |
---|---|
0b0 |
MSR writes of LORSA_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of LORSA_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of LORN_EL1 at EL1 using AArch64 to EL2.
LORN_EL1 | Meaning |
---|---|
0b0 |
MSR writes of LORN_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of LORN_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of LOREA_EL1 at EL1 using AArch64 to EL2.
LOREA_EL1 | Meaning |
---|---|
0b0 |
MSR writes of LOREA_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of LOREA_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of LORC_EL1 at EL1 using AArch64 to EL2.
LORC_EL1 | Meaning |
---|---|
0b0 |
MSR writes of LORC_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of LORC_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap MSR writes of FAR_EL1 at EL1 using AArch64 to EL2.
FAR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of FAR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of FAR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of ESR_EL1 at EL1 using AArch64 to EL2.
ESR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of ESR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of ESR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of CSSELR_EL1 at EL1 using AArch64 to EL2.
CSSELR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of CSSELR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of CSSELR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of CPACR_EL1 at EL1 using AArch64 to EL2.
CPACR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of CPACR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of CPACR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of CONTEXTIDR_EL1 at EL1 using AArch64 to EL2.
CONTEXTIDR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of CONTEXTIDR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of CONTEXTIDR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
APIBKey | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
APIAKey | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
APGAKey | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
APDBKey | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of multiple System registers. Enables a trap on MSR writes at EL1 using AArch64 of any of the following AArch64 System registers to EL2:
APDAKey | Meaning |
---|---|
0b0 |
MSR writes of the specified System registers are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes at EL1 using AArch64 of any of the specified System registers are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of AMAIR_EL1 at EL1 using AArch64 to EL2.
AMAIR_EL1 | Meaning |
---|---|
0b0 |
MSR writes of AMAIR_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of AMAIR_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap MSR writes of AFSR1_EL1 at EL1 using AArch64 to EL2.
AFSR1_EL1 | Meaning |
---|---|
0b0 |
MSR writes of AFSR1_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of AFSR1_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Trap MSR writes of AFSR0_EL1 at EL1 using AArch64 to EL2.
AFSR0_EL1 | Meaning |
---|---|
0b0 |
MSR writes of AFSR0_EL1 are not trapped by this mechanism. |
0b1 |
If EL2 is implemented and enabled in the current Security state, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then MSR writes of AFSR0_EL1 at EL1 using AArch64 are trapped to EL2 and reported with EC syndrome value 0x18, unless the write generates a higher priority exception. |
The reset behavior of this field is:
Accesses to this register use the following encodings in the System register encoding space:
MRS <Xt>, HFGWTR_EL2
op0 | op1 | CRn | CRm | op2 |
---|---|---|---|---|
0b11 | 0b100 | 0b0001 | 0b0001 | 0b101 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if EffectiveHCR_EL2_NVx() IN {'1x1'} then X[t, 64] = NVMem[0x1C0]; elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then AArch64.SystemAccessTrap(EL2, 0x18); else UNDEFINED; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && EL3SDDUndefPriority() && SCR_EL3.FGTEn == '0' then UNDEFINED; elsif HaveEL(EL3) && SCR_EL3.FGTEn == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); else X[t, 64] = HFGWTR_EL2; elsif PSTATE.EL == EL3 then X[t, 64] = HFGWTR_EL2;
MSR HFGWTR_EL2, <Xt>
op0 | op1 | CRn | CRm | op2 |
---|---|---|---|---|
0b11 | 0b100 | 0b0001 | 0b0001 | 0b101 |
if PSTATE.EL == EL0 then UNDEFINED; elsif PSTATE.EL == EL1 then if EffectiveHCR_EL2_NVx() IN {'1x1'} then NVMem[0x1C0] = X[t, 64]; elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then AArch64.SystemAccessTrap(EL2, 0x18); else UNDEFINED; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && EL3SDDUndefPriority() && SCR_EL3.FGTEn == '0' then UNDEFINED; elsif HaveEL(EL3) && SCR_EL3.FGTEn == '0' then if EL3SDDUndef() then UNDEFINED; else AArch64.SystemAccessTrap(EL3, 0x18); else HFGWTR_EL2 = X[t, 64]; elsif PSTATE.EL == EL3 then HFGWTR_EL2 = X[t, 64];