Peter Maydell <peter.mayd...@linaro.org> writes: > On Fri, 17 Feb 2023 at 20:15, Fabiano Rosas <faro...@suse.de> wrote: >> >> Move the 64-bit CPUs that are TCG-only: >> - cortex-a35 >> - cortex-a55 >> - cortex-a72 >> - cortex-a76 >> - a64fx >> - neoverse-n1 >> >> Keep the CPUs that can be used with KVM: >> - cortex-a57 >> - cortex-a53 >> - max >> - host >> >> For the special case "max" CPU, there's a nuance that while KVM/HVF >> use the "host" model instead, we still cannot move all of the TCG code >> into the tcg directory because the qtests might reach the !kvm && !hvf >> branch. Keep the cortex_a57_initfn() call to cover that scenario. >> >> Signed-off-by: Fabiano Rosas <faro...@suse.de> >> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> >> --- > > >> -/* -cpu max: if KVM is enabled, like -cpu host (best possible with this >> host); >> - * otherwise, a CPU with as many features enabled as our emulation supports. >> - * The version of '-cpu max' for qemu-system-arm is defined in cpu.c; >> - * this only needs to handle 64 bits. >> - */ >> static void aarch64_max_initfn(Object *obj) >> { >> - ARMCPU *cpu = ARM_CPU(obj); >> - uint64_t t; >> - uint32_t u; >> - >> if (kvm_enabled() || hvf_enabled()) { >> /* With KVM or HVF, '-cpu max' is identical to '-cpu host' */ >> aarch64_host_initfn(obj); >> return; >> } >> >> + if (tcg_enabled() || qtest_enabled()) { >> + aarch64_a57_initfn(obj); >> + } >> + > > > >> + if (tcg_enabled()) { >> + aarch64_max_tcg_initfn(obj); >> + } > > Why do this only for TCG, and not qtest ?
I was trying to give qtest a minimum set of features, since it shouldn't require any to begin with. I could probably revert to the old behavior of having this code for qtest as well without breaking the build. It's just a matter of moving some stuff back from the tcg-only land.