accel/kvm: Use negative KVM type for error propagation
On MIPS, kvm_arch_get_default_type() returns a negative value when an error occurred so handle the case. Also, let other machines return negative values when errors occur and declare returning a negative value as the correct way to propagate an error that happened when determining KVM type. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-id: 20230727073134.134102-5-akihiko.odaki@daynix.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
875b3eb88f
commit
bc3e41a0e8
@ -2527,6 +2527,11 @@ static int kvm_init(MachineState *ms)
|
|||||||
type = kvm_arch_get_default_type(ms);
|
type = kvm_arch_get_default_type(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type < 0) {
|
||||||
|
ret = -EINVAL;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
ret = kvm_ioctl(s, KVM_CREATE_VM, type);
|
ret = kvm_ioctl(s, KVM_CREATE_VM, type);
|
||||||
} while (ret == -EINTR);
|
} while (ret == -EINTR);
|
||||||
|
@ -2913,7 +2913,7 @@ static int virt_kvm_type(MachineState *ms, const char *type_str)
|
|||||||
"require an IPA range (%d bits) larger than "
|
"require an IPA range (%d bits) larger than "
|
||||||
"the one supported by the host (%d bits)",
|
"the one supported by the host (%d bits)",
|
||||||
requested_pa_size, max_vm_pa_size);
|
requested_pa_size, max_vm_pa_size);
|
||||||
exit(1);
|
return -1;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* We return the requested PA log size, unless KVM only supports
|
* We return the requested PA log size, unless KVM only supports
|
||||||
|
@ -3105,7 +3105,7 @@ static int spapr_kvm_type(MachineState *machine, const char *vm_type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
error_report("Unknown kvm-type specified '%s'", vm_type);
|
error_report("Unknown kvm-type specified '%s'", vm_type);
|
||||||
exit(1);
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user