From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Radoslaw Biernacki" <rad@semihalf.com>,
kvm@vger.kernel.org, "David Hildenbrand" <david@redhat.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
"Thomas Huth" <thuth@redhat.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
"Huacai Chen" <chenhuacai@kernel.org>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
"Hervé Poussineau" <hpoussin@reactos.org>,
"Leif Lindholm" <leif@nuviainc.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Aleksandar Rikalo" <aleksandar.rikalo@syrmia.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Greg Kurz" <groug@kaod.org>,
qemu-s390x@nongnu.org, qemu-arm@nongnu.org,
"David Gibson" <david@gibson.dropbear.id.au>,
"Cornelia Huck" <cohuck@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
qemu-ppc@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Aurelien Jarno" <aurelien@aurel32.net>
Subject: [PATCH 7/7] accel/kvm: Exit gracefully when KVM is not supported
Date: Fri, 19 Feb 2021 12:44:28 +0100 [thread overview]
Message-ID: <20210219114428.1936109-8-philmd@redhat.com> (raw)
In-Reply-To: <20210219114428.1936109-1-philmd@redhat.com>
Now that we added the 'kvm_supported' field to MachineClass
and all our machines able to use KVM have this field set,
we can check it in kvm_init() and exit gracefully with
a friendly error message.
Before:
$ qemu-system-aarch64 -M raspi3b -enable-kvm
qemu-system-aarch64: /build/qemu-ETIdrs/qemu-4.2/exec.c:865: cpu_address_space_init: Assertion `asidx == 0 || !kvm_enabled()' failed.
Aborted
$ qemu-system-aarch64 -M xlnx-zcu102 -enable-kvm -smp 6
qemu-system-aarch64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument
After:
$ qemu-system-aarch64 -M raspi3b -enable-kvm
Machine 'raspi3b' does not support KVM
$ qemu-system-aarch64 -M xlnx-zcu102 -enable-kvm -smp 6
Machine 'xlnx-zcu102' does not support KVM
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
accel/kvm/kvm-all.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index b069938d881..8a8d3f64248 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -2001,6 +2001,12 @@ static int kvm_init(MachineState *ms)
s = KVM_STATE(ms->accelerator);
+ if (!mc->kvm_supported) {
+ ret = -EINVAL;
+ fprintf(stderr, "Machine '%s' does not support KVM\n", mc->name);
+ exit(1);
+ }
+
/*
* On systems where the kernel can support different base page
* sizes, host page size may be different from TARGET_PAGE_SIZE,
--
2.26.2
next prev parent reply other threads:[~2021-02-19 11:50 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-19 11:44 [PATCH 0/7] hw/kvm: Exit gracefully when KVM is not supported Philippe Mathieu-Daudé
2021-02-19 11:44 ` [PATCH 1/7] accel/kvm: Check MachineClass kvm_type() return value Philippe Mathieu-Daudé
2021-02-19 11:44 ` [PATCH 2/7] hw/boards: Introduce 'kvm_supported' field to MachineClass Philippe Mathieu-Daudé
2021-02-19 11:57 ` Daniel P. Berrangé
2021-02-19 12:08 ` Peter Maydell
2021-02-19 12:10 ` Daniel P. Berrangé
2021-02-19 15:52 ` Leif Lindholm
2021-02-19 11:44 ` [PATCH 3/7] hw/arm: Set kvm_supported for KVM-compatible machines Philippe Mathieu-Daudé
2021-02-19 11:44 ` [PATCH 4/7] hw/mips: " Philippe Mathieu-Daudé
2021-02-19 11:44 ` [RFC PATCH 5/7] hw/ppc: " Philippe Mathieu-Daudé
2021-02-19 11:44 ` [PATCH 6/7] hw/s390x: Set kvm_supported to s390-ccw-virtio machines Philippe Mathieu-Daudé
2021-02-19 11:44 ` Philippe Mathieu-Daudé [this message]
2021-02-19 11:55 ` [PATCH 0/7] hw/kvm: Exit gracefully when KVM is not supported Peter Maydell
2021-02-19 12:09 ` Philippe Mathieu-Daudé
2021-02-19 12:00 ` Daniel P. Berrangé
2021-02-19 12:15 ` Philippe Mathieu-Daudé
2021-02-19 12:18 ` Daniel P. Berrangé
2021-02-19 13:10 ` Philippe Mathieu-Daudé
2021-02-19 12:34 ` Claudio Fontana
2021-02-19 17:36 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210219114428.1936109-8-philmd@redhat.com \
--to=philmd@redhat.com \
--cc=aleksandar.rikalo@syrmia.com \
--cc=alistair@alistair23.me \
--cc=aurelien@aurel32.net \
--cc=borntraeger@de.ibm.com \
--cc=chenhuacai@kernel.org \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=edgar.iglesias@gmail.com \
--cc=ehabkost@redhat.com \
--cc=f4bug@amsat.org \
--cc=groug@kaod.org \
--cc=hpoussin@reactos.org \
--cc=kvm@vger.kernel.org \
--cc=leif@nuviainc.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=rad@semihalf.com \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).