aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Bolshakov <r.bolshakov@yadro.com>2020-03-20 17:55:40 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2020-05-18 06:46:32 -0400
commit7edd698ed003e3c4d64868208c30d33fd97168b7 (patch)
treee00ae964580bd13204d5105b820b6bd57ba5d761
parent8202cf8424d2f1da6f67f6e825431e8159303ccc (diff)
downloadkvm-unit-tests-7edd698ed003e3c4d64868208c30d33fd97168b7.tar.gz
scripts/arch-run: Support testing of hvf accel
The tests can be run if Hypervisor.framework API is available: https://developer.apple.com/documentation/hypervisor?language=objc#1676667 Cc: Cameron Esfahani <dirty@apple.com> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Reviewed-by: Cameron Esfahani <dirty@apple.com> Message-Id: <20200320145541.38578-2-r.bolshakov@yadro.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--scripts/arch-run.bash13
1 files changed, 13 insertions, 0 deletions
diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 8348761..660f1b7 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -350,17 +350,30 @@ kvm_available ()
( [ "$HOST" = x86_64 ] && [ "$ARCH" = i386 ] )
}
+hvf_available ()
+{
+ [ "$(sysctl -n kern.hv_support 2>/dev/null)" = "1" ] || return 1
+ [ "$HOST" = "$ARCH_NAME" ] ||
+ ( [ "$HOST" = x86_64 ] && [ "$ARCH" = i386 ] )
+}
+
get_qemu_accelerator ()
{
if [ "$ACCEL" = "kvm" ] && ! kvm_available; then
echo "KVM is needed, but not available on this host" >&2
return 2
fi
+ if [ "$ACCEL" = "hvf" ] && ! hvf_available; then
+ echo "HVF is needed, but not available on this host" >&2
+ return 2
+ fi
if [ "$ACCEL" ]; then
echo $ACCEL
elif kvm_available; then
echo kvm
+ elif hvf_available; then
+ echo hvf
else
echo tcg
fi