[Qemu-devel] [PATCH v1 0/5] Add a valid_cpu_types property

Alistair Francis posted 5 patches 6 years, 6 months ago
Only 4 patches received!
There is a newer version of this series
hw/arm/netduino2.c           |  9 ++++++++-
hw/arm/raspi.c               |  6 ++++++
hw/arm/xilinx_zynq.c         |  5 +++++
hw/arm/xlnx-zcu102.c         | 10 ++++++++++
hw/arm/xlnx-zynqmp.c         | 16 +++++++++-------
hw/core/machine.c            | 35 +++++++++++++++++++++++++++++++++++
include/hw/arm/xlnx-zynqmp.h |  1 +
include/hw/boards.h          |  1 +
8 files changed, 75 insertions(+), 8 deletions(-)
[Qemu-devel] [PATCH v1 0/5] Add a valid_cpu_types property
Posted by Alistair Francis 6 years, 6 months ago
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.

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 types are: cortex-m3-arm-cpu, cortex-m4-arm-cpu

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 (5):
  machine: Add a valid_cpu_types property
  netduino2: Specify the valid CPUs
  xlnx-zcu102: Specify the valid CPUs
  xilinx_zynq: : Specify the valid CPUs
  raspi: : Specify the valid CPUs

 hw/arm/netduino2.c           |  9 ++++++++-
 hw/arm/raspi.c               |  6 ++++++
 hw/arm/xilinx_zynq.c         |  5 +++++
 hw/arm/xlnx-zcu102.c         | 10 ++++++++++
 hw/arm/xlnx-zynqmp.c         | 16 +++++++++-------
 hw/core/machine.c            | 35 +++++++++++++++++++++++++++++++++++
 include/hw/arm/xlnx-zynqmp.h |  1 +
 include/hw/boards.h          |  1 +
 8 files changed, 75 insertions(+), 8 deletions(-)

-- 
2.11.0