[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to mac
From: |
Richard Henderson |
Subject: |
Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class |
Date: |
Wed, 8 Nov 2017 22:29:43 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
On 11/06/2017 09:13 PM, Emilio G. Cota wrote:
> Subject: [PATCH] qom: move CPUClass.tcg_initialize to a global
>
> 55c3cee ("qom: Introduce CPUClass.tcg_initialize", 2017-10-24)
> introduces a per-CPUClass bool that we check so that the target CPU
> is initialized for TCG only once. This works well except when
> we end up creating more than one CPUClass, in which case we end
> up incorrectly initializing TCG more than once, i.e. once for
> each CPUClass.
>
> This can be replicated with:
> $ aarch64-softmmu/qemu-system-aarch64 -machine xlnx-zcu102 -smp 6 \
> -global driver=xlnx,,zynqmp,property=has_rpu,value=on
> In this case the class name of the "RPUs" is prefixed by "cortex-r5-",
> whereas the "regular" CPUs are prefixed by "cortex-a53-". This
> results in two CPUClass instances being created.
>
> Fix it by introducing a static variable, so that only the first
> target CPU being initialized will initialize the target-dependent
> part of TCG, regardless of CPUClass instances.
Hah!
So, I had been thinking of the xylinx ARM + Microblaze case, where we really do
need two different initializations. I never imagined that two different ARM
parts had different CPUClasses.
So I guess it's my initial patch that unified this that's more buggy than not.
r~
- [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/03
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/03
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Eduardo Habkost, 2017/11/03
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/03
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Eduardo Habkost, 2017/11/06
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Alistair Francis, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Eduardo Habkost, 2017/11/07
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class,
Richard Henderson <=
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Eduardo Habkost, 2017/11/08
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Alistair Francis, 2017/11/08
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Alistair Francis, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Emilio G. Cota, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Alistair Francis, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Philippe Mathieu-Daudé, 2017/11/06
- Re: [Qemu-arm] [Qemu-devel] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Alistair Francis, 2017/11/06
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Philippe Mathieu-Daudé, 2017/11/07
- Re: [Qemu-arm] [PATCH] hw: add .min_cpus and .default_cpus fields to machine_class, Eduardo Habkost, 2017/11/07