Non-Confidential | ![]() | ARM DDI0488F | ||
| ||||
Home > System Control > AArch64 register descriptions > Hypervisor Configuration Register, EL2 |
EL0 | EL1(NS) | EL1(S) | EL2 | EL3(SCR.NS = 1) | EL3(SCR.NS = 0) |
---|---|---|---|---|---|
- | - | - | RW | RW | RW |
Table 4-47 HCR_EL2 bit assignments
Bits | Name | Function |
---|---|---|
[63:34] | - | Reserved, RES0. |
[33] | ID | Disables stage 2 Instruction Cache. When
HCR_EL2.VM is 1, this forces all stage 2 translations for instruction accesses
to Normal memory to be Non-cacheable for the EL1/EL0 translation
regimes. The values are:
|
[32] | CD | Disables stage 2 data cache. When HCR_EL2.VM
is 1, this forces all stage 2 translations for data accesses and translation
table walks to Normal memory to be Non-cacheable for the EL1/EL0
translation regimes. The values are:
|
[31] | RW | Register width control for lower Exception
levels. The values are:
|
[30] | TRVM | Trap Read of Virtual Memory controls.
When 1, this causes reads to the EL1 virtual memory control registers from
EL1 to be trapped to EL2. This covers the following registers:
The
reset value is 0.
|
[29] | HCD | Disables Hyp call. The processor implements EL3. This bit is RES0. |
[28] | TDZ | Traps
DC ZVA instruction.
The values are:
|
[27] | TGE | Traps general exceptions. If this bit
is set, and SCR_EL3.NS is set, then:
|
[26] | TVM | Trap Virtual Memory controls. When 1,
this causes writes to the EL1 virtual memory control registers from
EL1 to be trapped to EL2. This covers the following registers:
The
reset value is 0.
|
[25] | TTLB | Trap TLB maintenance instructions. When
1, this causes TLB maintenance instructions executed from EL1 that are
not UNDEFINED to be trapped
to EL2. This covers the following instructions:
The
reset value is 0.
|
[24] | TPU | Trap Cache maintenance instructions to
Point of Unification. When 1, this causes Cache maintenance instructions to
the point of unification executed from EL1 or EL0 that are not UNDEFINED to be trapped to EL2.
This covers the following instructions:
The
reset value is 0.
|
[23] | TPC | Trap Data/Unified Cache maintenance operations
to point of coherency. When 1, this causes Data or Unified Cache
maintenance instructions by address to the point of coherency executed
from EL1 or EL0 that are not UNDEFINED to
be trapped to EL2. This covers the following instructions:
The
reset value is 0.
|
[22] | TSW | Trap Data/Unified Cache maintenance operations
by Set/Way. When 1, this causes Data or Unified Cache maintenance
instructions by set/way executed from EL1 that are not UNDEFINED to be trapped to EL2.
This covers the following instructions:
The
reset value is 0.
|
[21] | TACR | Traps Auxiliary Control registers. The values
are:
|
[20] | TIDCP | Trap Implementation Dependent functionality.
When 1, this causes accesses to the following instruction set space executed
from EL1 to be trapped to EL2:
Accesses
from EL0 are UNDEFINED.
The reset value is 0.
|
[19] | TSC | Traps
SMC instruction.
The values are:
|
[18] | TID3 | Trap ID Group 3. When 1, this causes
reads to the following registers executed from EL1 to be trapped
to EL2:
The
reset value is 0.
|
[17] | TID2 | Trap ID Group 2. When 1, this causes
reads or writes to CSSELR/CSSELR_EL1, to the following registers executed
from EL1 or EL0 that are UNDEFINED to
be trapped to EL2:
The
reset value is 0.
|
[16] | TID1 | Trap ID Group 1. When 1, this causes
reads to the following registers executed from EL1 to be trapped
to EL2:
The
reset value is 0.
|
[15] | TID0 | Trap ID Group 0. When 1, this causes
reads to the following registers executed from EL1 or EL0 that are UNDEFINED to be trapped to EL2:
The
reset value is 0.
|
[14] | TWE | Traps
WFE instruction
if it would cause suspension of execution. For example, if there
is no pending WFE event:
|
[13] | TWI | Traps
WFI instruction
if it would cause suspension of execution. For example, if there
is no pending WFI event:
|
[12] | DC | Default Cacheable. When this bit is set
to 1 the memory type and attributes determined by stage 1 translation
is Normal, Non-shareable, Inner Write-Back Write-Allocate, Outer
Write-Back Write-Allocate.
When executing in Non-secure
EL0 or EL1 and the HCR_EL2.DC bit is set, the behavior of processor
is consistent with the behavior when:
The
reset value is 0.
|
[11:10] | BSU | Barrier shareability upgrade. Determines
the minimum shareability domain that is supplied to any barrier executed
from EL1 or EL0. The values are:
This
value is combined with the specified level of the barrier held in
its instruction, according to the algorithm for combining shareability
attributes.
|
[9] | FB | Force broadcast. When 1, this causes
the following instructions to be broadcast within the Inner Shareable
domain when executed from Non-secure EL1:
The
reset value is 0.
|
[8] | VSE | Virtual System Error/Asynchronous Abort.
The values are:
The
virtual System Error/Asynchronous Abort is only enabled when the
HCR_EL2.AMO bit is set.
|
[7] | VI | Virtual IRQ interrupt. The values are:
The
virtual IRQ is only enabled when the HCR_EL2.IMO bit is set.
|
[6] | VF | Virtual FIQ interrupt. The values are:
The
virtual FIQ is only enabled when the HCR_EL2.FMO bit is set.
|
[5] | AMO | Asynchronous abort and error interrupt
routing. The values are:
|
[4] | IMO | Physical IRQ routing. The values are:
|
[3] | FMO | Physical FIQ routing. The values are:
|
[2] | PTW | Protected Table Walk. When this bit is set, if stage 2 translation of a translation table access, made as part of a stage 1 translation table walk at EL0 or EL1, maps to Strongly-ordered or Device memory, the access is faulted as a stage 2 Permission fault. |
[1] | SWIO | Set/Way Invalidation Override. EL1 execution
of the data cache invalidate by set/way instruction is treated as
data cache clean and invalidate by set/way. When this bit is set:
|
[0] | VM | Enables second stage of translation.
The values are:
|
MRS <Xt>, HCR_EL2; Read EL2 Hypervisor Configuration Register MRS HCR_EL2, <Xt>; Write EL2 Hypervisor Configuration Register