From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= Subject: [kvm-unit-tests PATCH 5/5] arch/run: unify accelerator detection Date: Wed, 28 Jun 2017 22:08:57 +0200 Message-ID: <20170628200857.1718-6-rkrcmar@redhat.com> References: <20170628200857.1718-1-rkrcmar@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Paolo Bonzini , Drew Jones , Laurent Vivier , Thomas Huth , David Hildenbrand To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:40354 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751866AbdF1UJ3 (ORCPT ); Wed, 28 Jun 2017 16:09:29 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9A9F48E74F for ; Wed, 28 Jun 2017 20:09:28 +0000 (UTC) In-Reply-To: <20170628200857.1718-1-rkrcmar@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Use the same mechanism as search_qemu_binary(). Signed-off-by: Radim Krčmář --- arm/run | 20 +------------------- powerpc/run | 18 +----------------- s390x/run | 18 +----------------- scripts/arch-run.bash | 22 ++++++++++++++++++++++ 4 files changed, 25 insertions(+), 53 deletions(-) diff --git a/arm/run b/arm/run index d7d778fe1645..f2e71eca022d 100755 --- a/arm/run +++ b/arm/run @@ -10,26 +10,8 @@ if [ -z "$STANDALONE" ]; then fi processor="$PROCESSOR" -if [ -c /dev/kvm ]; then - if [ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]; then - kvm_available=yes - elif [ "$HOST" = "aarch64" ]; then - kvm_available=yes - fi -fi - -if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then - echo "KVM is needed, but not available on this host" +ACCEL=$(get_accel '([ "$HOST" = "arm" ] && [ "$ARCH" = "arm" ]) || [ "$HOST" = "aarch64" ]') || exit 2 -fi - -if [ -z "$ACCEL" ]; then - if [ "$kvm_available" = "yes" ]; then - ACCEL="kvm" - else - ACCEL="tcg" - fi -fi qemu=$(search_qemu_binary) || exit 2 diff --git a/powerpc/run b/powerpc/run index e43c9fd8063c..55b987c5efc5 100755 --- a/powerpc/run +++ b/powerpc/run @@ -9,24 +9,8 @@ if [ -z "$STANDALONE" ]; then source scripts/arch-run.bash fi -if [ -c /dev/kvm ]; then - if [ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]; then - kvm_available=yes - fi -fi - -if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then - echo "KVM is needed, but not available on this host" +ACCEL=$(get_accel '[ "$HOST" = "ppc64" ] && [ "$ARCH" = "ppc64" ]') || exit 2 -fi - -if [ -z "$ACCEL" ]; then - if [ "$kvm_available" = "yes" ]; then - ACCEL="kvm" - else - ACCEL="tcg" - fi -fi qemu=$(search_qemu_binary) || exit 2 diff --git a/s390x/run b/s390x/run index ce8d45c2c8fd..67d6e88ea7e4 100755 --- a/s390x/run +++ b/s390x/run @@ -9,24 +9,8 @@ if [ -z "$STANDALONE" ]; then source scripts/arch-run.bash fi -if [ -c /dev/kvm ]; then - if [ "$HOST" = "s390x" ] && [ "$ARCH" = "s390x" ]; then - kvm_available=yes - fi -fi - -if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then - echo "KVM is needed, but not available on this host" +ACCEL=$(get_accel '[ "$HOST" = "s390x" ] && [ "$ARCH" = "s390x" ]') || exit 2 -fi - -if [ -z "$ACCEL" ]; then - if [ "$kvm_available" = "yes" ]; then - ACCEL="kvm" - else - ACCEL="tcg" - fi -fi qemu=$(search_qemu_binary) || exit 2 diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash index 994c1aa9c0cd..a696652c61b1 100644 --- a/scripts/arch-run.bash +++ b/scripts/arch-run.bash @@ -272,3 +272,25 @@ trap_exit_push () local old_exit=$(trap -p EXIT | sed "s/^[^']*'//;s/'[^']*$//") trap -- "$1; $old_exit" EXIT } + +get_accel () +{ + local kvm_available + + if [ -c /dev/kvm ] && eval "$@"; then + kvm_available=yes + fi + + if [ "$ACCEL" = "kvm" ] && [ "$kvm_available" != "yes" ]; then + echo "KVM is needed, but not available on this host" >&2 + return 2 + fi + + if [ "$ACCEL" ]; then + echo $ACCEL + elif [ "$kvm_available" = "yes" ]; then + echo kvm + else + echo tcg + fi +} -- 2.13.2