On 02/02/2018 01:42 AM, Alistair Francis wrote:
>
> 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.
Sadly this series missed the 2.12 train.
>
> I have added the valid_cpu_types for some ARM machines only at the
> moment.
>
> 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 type: cortex-a9-arm-cpu
> The valid models are: cortex-m3, cortex-m4
>
> V5:
> - Use cpu_model instead of cpu_type
> V4:
> - Rebase
> - Remove spaces
> V3:
> - Make the varialbes static
> V2:
> - Rebase
> - Reorder patches
> - Add a Raspberry Pi 2 CPU fix
> V1:
> - Small fixes to prepare a series instead of RFC
> - Add commit messages for the commits
> - Expand the machine support to ARM machines
> RFC v2:
> - Rebase on Igor's work
> - Use more QEMUisms inside the code
> - List the supported machines in a NULL terminated array
>
>
>
> Alistair Francis (6):
> machine: Convert the valid cpu types to use cpu_model
> netduino2: Specify the valid CPUs
> bcm2836: Use the Cortex-A7 instead of Cortex-A15
> raspi: Specify the valid CPUs
> xlnx-zcu102: Specify the valid CPUs
> xilinx_zynq: Specify the valid CPUs
>
> hw/arm/bcm2836.c | 2 +-
> hw/arm/netduino2.c | 10 +++++++++-
> hw/arm/raspi.c | 7 +++++++
> hw/arm/xilinx_zynq.c | 6 ++++++
> hw/arm/xlnx-zcu102.c | 17 +++++++++++++++++
> hw/core/machine.c | 11 +++++------
> 6 files changed, 45 insertions(+), 8 deletions(-)
>