Hypervisor Fine-Grained Instruction Trap Register
Provides instruction trap controls.
This register is present only when FEAT_FGT is implemented and FEAT_AA64 is implemented. Otherwise, direct accesses to HFGITR_EL2 are UNDEFINED.
If EL2 is not implemented, this register is RES0 from EL3.
HFGITR_EL2 is a 64-bit register.
Trap execution of PSB CSYNC at EL1 and EL0 using AArch64 to EL2.
| PSBCSYNC | Meaning |
|---|---|
| 0b0 |
Execution of PSB CSYNC is 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 execution of PSB CSYNC at EL1 and EL0 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x0A, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of AT S1E1A at EL1 using AArch64 to EL2.
| ATS1E1A | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E1A is 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 execution of AT S1E1A at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Reserved, RES0.
Trap execution of COSP RCTX at EL1 and EL0 using AArch64 and execution of COSPRCTX at EL0 using AArch32 when EL1 is using AArch64 to EL2.
| COSPRCTX | Meaning |
|---|---|
| 0b0 |
Execution of COSP RCTX at EL1 and EL0 using AArch64 and execution of COSPRCTX 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}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then unless the instruction generates a higher priority exception: |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| nGCSEPP | 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 execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
| 0b1 |
Execution of the specified instructions is not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| nGCSSTR_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 execution at EL1 using AArch64 of any of the specified instructions generates a GCS exception with EC syndrome value 0x2D, unless the instruction generates a higher priority exception. |
| 0b1 |
Execution of the specified instructions is not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of GCSPUSHM at EL1 using AArch64 to EL2.
| nGCSPUSHM_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 execution of GCSPUSHM at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
| 0b1 |
Execution of GCSPUSHM is not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of BRB IALL at EL1 using AArch64 to EL2.
| nBRBIALL | 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 execution of BRB IALL at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
| 0b1 |
Execution of BRB IALL is not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of BRB INJ at EL1 using AArch64 to EL2.
| nBRBINJ | 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 execution of BRB INJ at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
| 0b1 |
Execution of BRB INJ is not trapped by this mechanism. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of any of the following AArch64 instructions at EL1 and EL0 to EL2:
| DCCVAC | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 if the execution can be trapped, execution at EL1 and EL0 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of SVC at EL1 using AArch64 to EL2.
| SVC_EL1 | Meaning |
|---|---|
| 0b0 |
Execution of SVC is 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 execution of SVC at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x15, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of SVC at EL0 using AArch64 and execution of SVC at EL0 using AArch32 when EL1 is using AArch64 to EL2.
| SVC_EL0 | Meaning |
|---|---|
| 0b0 |
Execution of SVC at EL0 using AArch64 and execution of SVC 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}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then unless the instruction generates a higher priority exception:
|
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| ERET | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x1A, unless the instruction generates a higher priority exception. |
If EL2 is implemented and enabled in the current Security state, HCR_EL2.API == 0, and this field enables a fine-grained trap on the instruction, then execution at EL1 using AArch64 of ERETAA or ERETAB instructions is trapped to EL2 and reported with EC syndrome value 0x1A with its associated ISS field, as the fine-grained trap has higher priority than the trap enabled by HCR_EL2.API == 0.
The reset behavior of this field is:
Trap execution of CPP RCTX at EL1 and EL0 using AArch64 and execution of CPPRCTX at EL0 using AArch32 when EL1 is using AArch64 to EL2.
| CPPRCTX | Meaning |
|---|---|
| 0b0 |
Execution of CPP RCTX at EL1 and EL0 using AArch64 and execution of CPPRCTX 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}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then unless the instruction generates a higher priority exception: |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of DVP RCTX at EL1 and EL0 using AArch64 and execution of DVPRCTX at EL0 using AArch32 when EL1 is using AArch64 to EL2.
| DVPRCTX | Meaning |
|---|---|
| 0b0 |
Execution of DVP RCTX at EL1 and EL0 using AArch64 and execution of DVPRCTX 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}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then unless the instruction generates a higher priority exception: |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of CFP RCTX at EL1 and EL0 using AArch64 and execution of CFPRCTX at EL0 using AArch32 when EL1 is using AArch64 to EL2.
| CFPRCTX | Meaning |
|---|---|
| 0b0 |
Execution of CFP RCTX at EL1 and EL0 using AArch64 and execution of CFPRCTX 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}, and either EL3 is not implemented or SCR_EL3.FGTEn == 1, then unless the instruction generates a higher priority exception: |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VAALE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAALE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAALE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAALE1NXS.
| TLBIVAALE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAALE1 is 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 execution of TLBI VAALE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VALE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VALE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VALE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VALE1NXS.
| TLBIVALE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VALE1 is 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 execution of TLBI VALE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VAAE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAAE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAAE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAAE1NXS.
| TLBIVAAE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAAE1 is 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 execution of TLBI VAAE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI ASIDE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI ASIDE1NXS.
| TLBIASIDE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI ASIDE1 is 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 execution of TLBI ASIDE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VAE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAE1NXS.
| TLBIVAE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAE1 is 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 execution of TLBI VAE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VMALLE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VMALLE1NXS.
| TLBIVMALLE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VMALLE1 is 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 execution of TLBI VMALLE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI RVAALE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAALE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAALE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAALE1NXS.
| TLBIRVAALE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAALE1 is 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 execution of TLBI RVAALE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVALE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVALE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVALE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVALE1NXS.
| TLBIRVALE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVALE1 is 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 execution of TLBI RVALE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAAE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAAE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAAE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAAE1NXS.
| TLBIRVAAE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAAE1 is 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 execution of TLBI RVAAE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAE1 at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAE1NXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAE1.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAE1NXS.
| TLBIRVAE1 | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAE1 is 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 execution of TLBI RVAE1 at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAALE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAALE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAALE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAALE1ISNXS.
| TLBIRVAALE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAALE1IS is 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 execution of TLBI RVAALE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVALE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVALE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVALE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVALE1ISNXS.
| TLBIRVALE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVALE1IS is 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 execution of TLBI RVALE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAAE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAAE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAAE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAAE1ISNXS.
| TLBIRVAAE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAAE1IS is 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 execution of TLBI RVAAE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAE1ISNXS.
| TLBIRVAE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAE1IS is 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 execution of TLBI RVAE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VAALE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAALE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAALE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAALE1ISNXS.
| TLBIVAALE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAALE1IS is 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 execution of TLBI VAALE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VALE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VALE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VALE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VALE1ISNXS.
| TLBIVALE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VALE1IS is 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 execution of TLBI VALE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VAAE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAAE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAAE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAAE1ISNXS.
| TLBIVAAE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAAE1IS is 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 execution of TLBI VAAE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI ASIDE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI ASIDE1ISNXS.
| TLBIASIDE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI ASIDE1IS is 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 execution of TLBI ASIDE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VAE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAE1ISNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAE1IS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAE1ISNXS.
| TLBIVAE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAE1IS is 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 execution of TLBI VAE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI VMALLE1IS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VMALLE1ISNXS.
| TLBIVMALLE1IS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VMALLE1IS is 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 execution of TLBI VMALLE1IS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of TLBI RVAALE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAALE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAALE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAALE1OSNXS.
| TLBIRVAALE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAALE1OS is 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 execution of TLBI RVAALE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVALE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVALE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVALE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVALE1OSNXS.
| TLBIRVALE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVALE1OS is 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 execution of TLBI RVALE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAAE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAAE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAAE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAAE1OSNXS.
| TLBIRVAAE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAAE1OS is 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 execution of TLBI RVAAE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI RVAE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI RVAE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP RVAE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP RVAE1OSNXS.
| TLBIRVAE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI RVAE1OS is 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 execution of TLBI RVAE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VAALE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAALE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAALE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAALE1OSNXS.
| TLBIVAALE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAALE1OS is 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 execution of TLBI VAALE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VALE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VALE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VALE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VALE1OSNXS.
| TLBIVALE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VALE1OS is 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 execution of TLBI VALE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VAAE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAAE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAAE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAAE1OSNXS.
| TLBIVAAE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAAE1OS is 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 execution of TLBI VAAE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI ASIDE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI ASIDE1OSNXS.
| TLBIASIDE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI ASIDE1OS is 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 execution of TLBI ASIDE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VAE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VAE1OSNXS.
If FEAT_D128 is implemented, then this field also traps execution of TLBIP VAE1OS.
If FEAT_XS and FEAT_D128 are implemented, then this field also traps execution of TLBIP VAE1OSNXS.
| TLBIVAE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VAE1OS is 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 execution of TLBI VAE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of TLBI VMALLE1OS at EL1 using AArch64 to EL2.
If FEAT_XS is implemented and HCRX_EL2.FGTnXS == 0, this field also traps execution of TLBI VMALLE1OSNXS.
| TLBIVMALLE1OS | Meaning |
|---|---|
| 0b0 |
Execution of TLBI VMALLE1OS is 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 execution of TLBI VMALLE1OS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of AT S1E1WP at EL1 using AArch64 to EL2.
| ATS1E1WP | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E1WP is 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 execution of AT S1E1WP at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of AT S1E1RP at EL1 using AArch64 to EL2.
| ATS1E1RP | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E1RP is 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 execution of AT S1E1RP at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of AT S1E0W at EL1 using AArch64 to EL2.
| ATS1E0W | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E0W is 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 execution of AT S1E0W at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of AT S1E0R at EL1 using AArch64 to EL2.
| ATS1E0R | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E0R is 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 execution of AT S1E0R at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of AT S1E1W at EL1 using AArch64 to EL2.
| ATS1E1W | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E1W is 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 execution of AT S1E1W at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of AT S1E1R at EL1 using AArch64 to EL2.
| ATS1E1R | Meaning |
|---|---|
| 0b0 |
Execution of AT S1E1R is 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 execution of AT S1E1R at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 and EL0 to EL2:
| DCZVA | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 execution at EL1 and EL0 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 and EL0 to EL2:
| DCCIVAC | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 if the execution can be trapped, execution at EL1 and EL0 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 and EL0 to EL2:
| DCCVADP | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 if the execution can be trapped, execution at EL1 and EL0 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Reserved, RES0.
Trap execution of any of the following AArch64 instructions at EL1 and EL0 to EL2:
| DCCVAP | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 if the execution can be trapped, execution at EL1 and EL0 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of DC CVAU at EL1 and EL0 using AArch64 to EL2.
| DCCVAU | Meaning |
|---|---|
| 0b0 |
Execution of DC CVAU is 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 if the execution can be trapped, execution of DC CVAU at EL1 and EL0 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| DCCISW | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| DCCSW | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| DCISW | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of any of the following AArch64 instructions at EL1 to EL2:
| DCIVAC | Meaning |
|---|---|
| 0b0 |
Execution of the specified instructions is 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 if the execution can be trapped, execution at EL1 using AArch64 of any of the specified instructions is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of IC IVAU at EL1 and EL0 using AArch64 to EL2.
| ICIVAU | Meaning |
|---|---|
| 0b0 |
Execution of IC IVAU is 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 if the execution can be trapped, execution of IC IVAU at EL1 and EL0 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of IC IALLU at EL1 using AArch64 to EL2.
| ICIALLU | Meaning |
|---|---|
| 0b0 |
Execution of IC IALLU is 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 if the execution can be trapped, execution of IC IALLU at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction generates a higher priority exception. |
The reset behavior of this field is:
Trap execution of IC IALLUIS at EL1 using AArch64 to EL2.
| ICIALLUIS | Meaning |
|---|---|
| 0b0 |
Execution of IC IALLUIS is 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 if the execution can be trapped, execution of IC IALLUIS at EL1 using AArch64 is trapped to EL2 and reported with EC syndrome value 0x18, unless the instruction 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>, HFGITR_EL2
(op0 = 0b11, op1 = 0b100, CRn = 0b0001, CRm = 0b0001, op2 = 0b110)
if !(IsFeatureImplemented(FEAT_FGT) && IsFeatureImplemented(FEAT_AA64)) then Undefined(); elsif HaveEL(EL3) && PSTATE.EL == EL2 && EL3SDDUndefPriority() && SCR_EL3().FGTEn == '0' then Undefined(); elsif PSTATE.EL == EL0 then Undefined(); elsif PSTATE.EL == EL1 then if EffectiveHCR_EL2_NVx() IN {'1x1'} then X{64}(t) = NVMem(0x1C8); elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then AArch64_SystemAccessTrap(EL2, 0x18); else Undefined(); end; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && SCR_EL3().FGTEn == '0' then if EL3SDDUndef() then Undefined(); else AArch64_SystemAccessTrap(EL3, 0x18); end; else X{64}(t) = HFGITR_EL2(); end; elsif PSTATE.EL == EL3 then X{64}(t) = HFGITR_EL2(); end;
MSR HFGITR_EL2, <Xt>
(op0 = 0b11, op1 = 0b100, CRn = 0b0001, CRm = 0b0001, op2 = 0b110)
if !(IsFeatureImplemented(FEAT_FGT) && IsFeatureImplemented(FEAT_AA64)) then Undefined(); elsif HaveEL(EL3) && PSTATE.EL == EL2 && EL3SDDUndefPriority() && SCR_EL3().FGTEn == '0' then Undefined(); elsif PSTATE.EL == EL0 then Undefined(); elsif PSTATE.EL == EL1 then if EffectiveHCR_EL2_NVx() IN {'1x1'} then NVMem(0x1C8) = X{64}(t); elsif EffectiveHCR_EL2_NVx() IN {'xx1'} then AArch64_SystemAccessTrap(EL2, 0x18); else Undefined(); end; elsif PSTATE.EL == EL2 then if HaveEL(EL3) && SCR_EL3().FGTEn == '0' then if EL3SDDUndef() then Undefined(); else AArch64_SystemAccessTrap(EL3, 0x18); end; else HFGITR_EL2() = X{64}(t); end; elsif PSTATE.EL == EL3 then HFGITR_EL2() = X{64}(t); end;
Version 2026.06 — Copyright © 2010-2026 Arm Limited or its affiliates.
This site is provided as a community resource and is NOT affiliated with nor endorsed by Arm Limited.