On Thu, Jan 11 2024, Gavin Shan <gs...@redhat.com> wrote: > It's found that some of the CPU type names in the array of valid > CPU types are invalid because their corresponding classes aren't > registered, as reported by Peter Maydell. > > [gshan@gshan build]$ ./qemu-system-arm -machine virt -cpu cortex-a9 > qemu-system-arm: Invalid CPU model: cortex-a9 > The valid models are: cortex-a7, cortex-a15, (null), (null), (null), > (null), (null), (null), (null), (null), (null), (null), (null), max > > Fix it by consolidating the array of valid CPU types. After it's > applied, we have the following output when TCG is enabled. > > [gshan@gshan build]$ ./qemu-system-arm -machine virt -cpu cortex-a9 > qemu-system-arm: Invalid CPU model: cortex-a9 > The valid models are: cortex-a7, cortex-a15, max > > [gshan@gshan build]$ ./qemu-system-aarch64 -machine virt -cpu cortex-a9 > qemu-system-aarch64: Invalid CPU model: cortex-a9 > The valid models are: cortex-a7, cortex-a15, cortex-a35, cortex-a55, > cortex-a72, cortex-a76, cortex-a710, a64fx, neoverse-n1, neoverse-v1, > neoverse-n2, cortex-a53, cortex-a57, max
Alternatively, we could skip any NULL returns from cpu_model_from_type() in is_cpu_type_supported(), but I guess leaving out not-provided cpu types in the first place is cleaner. > > Reported-by: Peter Maydell <peter.mayd...@linaro.org> > Fixes: fa8c617791 ("hw/arm/virt: Check CPU type in machine_run_board_init()") > Signed-off-by: Gavin Shan <gs...@redhat.com> > --- > hw/arm/virt.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) Reviewed-by: Cornelia Huck <coh...@redhat.com>