Skip to content

Commit f8c4561

Browse files
josecmDavidMCerdeira
authored andcommitted
fix(armv8): fix aarch32 hcr init
Certain bits are res0 for aarch32 hcr system registers. Thefore we can only set these bits for aarch64. Signed-off-by: Jose Martins <[email protected]>
1 parent 40bbfcd commit f8c4561

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/arch/armv8/vmm.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ void vmm_arch_init()
1111
{
1212
vmm_arch_profile_init();
1313

14-
uint64_t hcr = HCR_VM_BIT | HCR_RW_BIT | HCR_IMO_BIT | HCR_FMO_BIT | HCR_TSC_BIT | HCR_APK_BIT |
15-
HCR_API_BIT;
14+
uint64_t hcr = HCR_VM_BIT | HCR_IMO_BIT | HCR_FMO_BIT | HCR_TSC_BIT;
15+
16+
if (DEFINED(AARCH64)) {
17+
hcr |= HCR_RW_BIT | HCR_APK_BIT | HCR_API_BIT;
18+
}
1619

1720
sysreg_hcr_el2_write(hcr);
1821

0 commit comments

Comments
 (0)