There are numorous QEMU machines that only have a single or a handful of valid CPU options. To simplyfy the management of specificying which CPU is/isn't valid let's create a property that can be set in the machine init. We can then check to see if the user supplied CPU is in that list or not.
Here is what specifying the CPUs looks like now: $ aarch64-softmmu/qemu-system-aarch64 -M netduino2 -kernel ./u-boot.elf -nographic -cpu "cortex-m3" -S QEMU 2.10.50 monitor - type 'help' for more information (qemu) info cpus * CPU #0: thread_id=24175 (qemu) q $ aarch64-softmmu/qemu-system-aarch64 -M netduino2 -kernel ./u-boot.elf -nographic -cpu "cortex-m4" -S QEMU 2.10.50 monitor - type 'help' for more information (qemu) q $ aarch64-softmmu/qemu-system-aarch64 -M netduino2 -kernel ./u-boot.elf -nographic -cpu "cortex-m5" -S qemu-system-aarch64: unable to find CPU model 'cortex-m5' $ aarch64-softmmu/qemu-system-aarch64 -M netduino2 -kernel ./u-boot.elf -nographic -cpu "cortex-a9" -S qemu-system-aarch64: Invalid CPU: cortex-a9-arm-cpu The valid options are: cortex-m3-arm-cpu, cortex-m4-arm-cpu RFC v2: - Rebase on Igor's work - Use more QEMUisms inside the code - List the supported machines in a NULL terminated array Alistair Francis (2): machine: Add a valid_cpu_types property netduino2: Specify the valid CPUs hw/arm/netduino2.c | 10 +++++++++- hw/core/machine.c | 35 +++++++++++++++++++++++++++++++++++ include/hw/boards.h | 1 + 3 files changed, 45 insertions(+), 1 deletion(-) -- 2.11.0