Emit a warning when HVF doesn't return the IPA bit length and return -1 as "this accelerator is not usable", allowing QEMU to try with the next one (when using '-accel hvf:tcg').
Reported-by: Ivan Krasilnikov Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2981 Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/arm/virt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ef6be3660f5..062812bf252 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -3149,8 +3149,12 @@ static int virt_hvf_get_physical_address_range(MachineState *ms) { VirtMachineState *vms = VIRT_MACHINE(ms); - int default_ipa_size = hvf_arm_get_default_ipa_bit_size(); - int max_ipa_size = hvf_arm_get_max_ipa_bit_size(); + uint32_t default_ipa_size = hvf_arm_get_default_ipa_bit_size(); + uint32_t max_ipa_size = hvf_arm_get_max_ipa_bit_size(); + if (!default_ipa_size || !max_ipa_size) { + warn_report("HVF didn't report IPA bit length"); + return -1; + } /* We freeze the memory map to compute the highest gpa */ virt_set_memmap(vms, max_ipa_size); -- 2.49.0