arch-arm: Virtualization Host Extensions checking

This patch adds Armv8.1-VHE checking. This is based on the bit
ID_AA64MMFR1_EL1.VH being 0b1.

Change-Id: Ia3f278c63fe1b5448a686db87a46853fc8b6bea5
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24045
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Adrian Herrera
2019-11-29 17:22:28 +00:00
committed by Giacomo Travaglini
parent 226fa0cd94
commit 251cbd34b8
2 changed files with 8 additions and 0 deletions

View File

@@ -289,6 +289,13 @@ getMPIDR(ArmSystem *arm_sys, ThreadContext *tc)
}
}
bool
HaveVirtHostExt(ThreadContext *tc)
{
AA64MMFR1 id_aa64mmfr1 = tc->readMiscReg(MISCREG_ID_AA64MMFR1_EL1);
return id_aa64mmfr1.vh;
}
bool
HaveSecureEL2Ext(ThreadContext *tc)
{

View File

@@ -166,6 +166,7 @@ currEL(CPSR cpsr)
return opModeToEL((OperatingMode) (uint8_t)cpsr.mode);
}
bool HaveVirtHostExt(ThreadContext *tc);
bool HaveSecureEL2Ext(ThreadContext *tc);
bool IsSecureEL2Enabled(ThreadContext *tc);
bool EL2Enabled(ThreadContext *tc);