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>
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 @@
( [ "$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