From: Andrew Jones Date: Wed, 10 Mar 2021 13:52:17 +0000 (+0100) Subject: accel: kvm: Fix kvm_type invocation X-Git-Tag: v6.0.0-rc0~43^2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=516fc0a081161eab5b3a89c7f243954945ee390e;p=thirdparty%2Fqemu.git accel: kvm: Fix kvm_type invocation Prior to commit f2ce39b4f067 a MachineClass kvm_type method only needed to be registered to ensure it would be executed. With commit f2ce39b4f067 a kvm-type machine property must also be specified. hw/arm/virt relies on the kvm_type method to pass its selected IPA limit to KVM, but this is not exposed as a machine property. Restore the previous functionality of invoking kvm_type when it's present. Fixes: f2ce39b4f067 ("vl: make qemu_get_machine_opts static") Signed-off-by: Andrew Jones Reviewed-by: Eric Auger Message-id: 20210310135218.255205-2-drjones@redhat.com Signed-off-by: Peter Maydell --- diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index f88a52393fe..37b0a1861e7 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2068,6 +2068,8 @@ static int kvm_init(MachineState *ms) "kvm-type", &error_abort); type = mc->kvm_type(ms, kvm_type); + } else if (mc->kvm_type) { + type = mc->kvm_type(ms, NULL); } do { diff --git a/include/hw/boards.h b/include/hw/boards.h index 5fda5fd128d..4a90549ad85 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -128,6 +128,7 @@ typedef struct { * @kvm_type: * Return the type of KVM corresponding to the kvm-type string option or * computed based on other criteria such as the host kernel capabilities. + * kvm-type may be NULL if it is not needed. * @numa_mem_supported: * true if '--numa node.mem' option is supported and false otherwise * @smp_parse: