Re: [Qemu-devel] [PATCH v5 0/6] Add a valid_cpu_types property
On Wed, 14 Mar 2018 00:13:40 +0100 Philippe Mathieu-Daudéwrote: > 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. problematic part here is 'cpu_type -> cpu_model' conversion without introducing back cpu model names in boards code. Each target sort of already has this code 'cpu_list' for printing supported CPU models. What we need is to generalize it as most of the targets implement it the same way. And then reuse generic code for 'cpu_type -> cpu_model' so that boards won't have to be involved in it. So currently cpu_list needs a volunteer who would be able to generalize it and cleanup all targets across the the tree.
Re: [Qemu-devel] [PATCH v5 0/6] Add a valid_cpu_types property
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(-) >
[Qemu-devel] [PATCH v5 0/6] Add a valid_cpu_types property
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 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(-) -- 2.14.1