Hi Peter, On 3/11/21 11:43 AM, Claudio Fontana wrote: > On 2/21/21 11:26 PM, Philippe Mathieu-Daudé wrote: >> KVM requires the target cpu to be at least ARMv8 architecture >> (support on ARMv7 has been dropped in commit 82bf7ae84ce: >> "target/arm: Remove KVM support for 32-bit Arm hosts"). >> >> A KVM-only build won't be able to run TCG cpus, move the >> v7A CPU definitions to cpu_tcg.c. >> >> Reported-by: Peter Maydell <peter.mayd...@linaro.org> >> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > > > Here I think it's better to keep the "a15" cpu around, > until we fix the board configuration situation. > > I added a patch that does that into my KVM-only build series, to avoid the > resulting breakages.
Actually I got a downstream report that this break migration from QEMU 5.2 to QEMU 6.0. I first thought it was on an old kernel (with 32-bit KVM enabled), but not, it is for Aarch64 VMs on recent KVM (without 32-bit support) but the 'virt' machines were started with default Cortex-A15 CPU... mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a15"); I'm not sure upstream should care about this case, but I though maybe you could give me hints about the best way to keep old VMs working, as this likely affects any distribution. Obviously not upgrading QEMU is not a solution :) The simplest seems to revert 82bf7ae84ce and this patch, but I doubt this will be enough. Maybe there is some clever thing to do before reverting 82bf7ae84ce, that could also benefit upstream, by doing something with versioned machines? I have no idea (yet) how that work and if it could work. Thanks, Phil.