[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/arm/virt: fix max-cpus check
From: |
Shannon Zhao |
Subject: |
Re: [Qemu-devel] [PATCH] hw/arm/virt: fix max-cpus check |
Date: |
Thu, 4 Feb 2016 09:54:45 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
On 2016/2/3 22:59, Andrew Jones wrote:
> mach-virt doesn't yet support hotplug, but command lines specifying
> -smp <num>,maxcpus=<bigger-num> don't fail. Of course specifying
> bigger-num as something bigger than the machine supports, e.g. > 8
> on a gicv2 machine, should fail though. This fix also makes mach-
> virt's max-cpus check truly consistent with the one in vl.c:main,
> as the one there was already correctly checking max-cpus instead
> of smp-cpus.
>
> Reported-by: Shannon Zhao <address@hidden>
> Signed-off-by: Andrew Jones <address@hidden>
> ---
> hw/arm/virt.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index 15658f49c4e06..44bbbea92b1cf 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -1013,7 +1013,7 @@ static void machvirt_init(MachineState *machine)
> MemoryRegion *sysmem = get_system_memory();
> MemoryRegion *secure_sysmem = NULL;
> int gic_version = vms->gic_version;
> - int n, max_cpus;
> + int n, virt_max_cpus;
> MemoryRegion *ram = g_new(MemoryRegion, 1);
> const char *cpu_model = machine->cpu_model;
> VirtBoardInfo *vbi;
> @@ -1051,15 +1051,15 @@ static void machvirt_init(MachineState *machine)
> * many redistributors we can fit into the memory map.
> */
> if (gic_version == 3) {
> - max_cpus = vbi->memmap[VIRT_GIC_REDIST].size / 0x20000;
> + virt_max_cpus = vbi->memmap[VIRT_GIC_REDIST].size / 0x20000;
> } else {
> - max_cpus = GIC_NCPU;
> + virt_max_cpus = GIC_NCPU;
> }
>
> - if (smp_cpus > max_cpus) {
> + if (max_cpus > virt_max_cpus) {
> error_report("Number of SMP CPUs requested (%d) exceeds max CPUs "
Does it need to change the SMP? ^~~~
> "supported by machine 'mach-virt' (%d)",
> - smp_cpus, max_cpus);
> + max_cpus, virt_max_cpus);
> exit(1);
> }
--
Shannon