|Home > Register Descriptions > AArch64 system registers > HCR_EL2, Hypervisor Configuration Register, EL2|
The HCR_EL2 provides configuration control for virtualization, including whether various Non-secure operations are trapped to EL2.
HCR_EL2 is a 64-bit register, and is part of the Virtualization registers functional group.
Mismatched Inner/Outer Cacheable Non-Coherency Enable, for the Non-secure EL1 and EL0 translation regime.
This bit is not implemented, RAZ/WI.
Execution state control for lower Exception levels. The possible values are:
|Lower levels are all AArch32.|
|The Execution state for EL1 is AArch64. The Execution state for EL0 is determined by the current value of PSTATE.nRW when executing at EL0.|
HVC instruction disable.
|This bit is reserved, res0.|
Traps general exceptions. If this bit is set, and SCR_EL3.NS is set, then:
0regardless of its actual state, other than for reading the bit.
1regardless of their actual state, other than for reading the bits.
HCR_EL2.TGE must not be cached in a TLB.
When the value of SCR_EL3.NS is 0 the core behaves as if this field is 0 for all purposes other than a direct read or write access of HCR_EL2.
Traps ID group 3 registers. The possible values are:
| ||ID group 3 register accesses are not trapped.|
| ||Reads to ID group 3 registers executed from Non-secure EL1 are trapped to EL2.|
See the Arm® Architecture Reference Manual Armv8, for Armv8-A architecture profile for the registers covered by this setting.
Trap ID Group 0. When
this causes reads to the following registers executed from EL1 or EL0 if not undefined to be trapped to EL2:
FPSID and JIDR.
When the value of SCR_EL3.NS is
0 the PE behaves as if this field is
0 for all purposes other than a direct read or write access of
Set/Way Invalidation Override. Non-secure EL1 execution of the data cache invalidate by set/way instruction is treated as data cache clean and invalidate by set/way.
This bit is res1.
HCR_EL2[31:0] is architecturally mapped to AArch32 register HCR. See B1.54 HCR, Hyp Configuration Register.
HCR_EL2[63:32] is architecturally mapped to AArch32 register HCR2. See B1.55 HCR2, Hyp Configuration Register 2.
If EL2 is not implemented, this register is RES0 from EL3
RW fields in this register reset to architecturally UNKNOWN values.
Bit fields and details not provided in this description are architecturally defined. See the Arm® Architecture Reference Manual Armv8, for Armv8-A architecture profile.