From: Adrian Herrera Date: Fri, 29 Nov 2019 17:22:28 +0000 (+0000) Subject: arch-arm: Virtualization Host Extensions checking X-Git-Tag: v19.0.0.0~109 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=251cbd34b82670ec8038bfee6d050f080e9b3981;p=gem5.git 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 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24045 Reviewed-by: Ciro Santilli Maintainer: Giacomo Travaglini Tested-by: kokoro --- diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc index 5ab56453b..a82fec495 100644 --- a/src/arch/arm/utility.cc +++ b/src/arch/arm/utility.cc @@ -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) { diff --git a/src/arch/arm/utility.hh b/src/arch/arm/utility.hh index 7ec44f8e2..4d1348abc 100644 --- a/src/arch/arm/utility.hh +++ b/src/arch/arm/utility.hh @@ -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);