On Tue, 21 Nov 2023 22:10:28 +0000
Volodymyr Babchuk <volodymyr_babc...@epam.com> wrote:

Probably typo in 'subj'

   mc->max_cpus

is limit on maximum supported vCPUs and it shouldn't be set
by xen_arm_init()

patch itself though does the right thing by setting it
in xen_arm_machine_class_init()

Also below explanation, while valid is not the reason for
increasing mc->max_cpus.

Reason could be as simple as 
   'increase max vCPU limit for FOO machine to XXX'

otherwise machine creation would be aborted early by generic code
with error '...'
see machine_parse_smp_config()


> From: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>
> 
> The number of vCPUs used for the IOREQ configuration (machine->smp.cpus)
> should really match the system value as for each vCPU we setup a dedicated
> evtchn for the communication with Xen at the runtime. This is needed
> for the IOREQ to be properly configured and work if the involved domain
> has more than one vCPU assigned.
> 
> Set the number of current supported guest vCPUs here (128) which is
> defined in public header arch-arm.h. And the toolstack should then
> pass max_vcpus using "-smp" arg.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babc...@epam.com>
> ---
>  hw/arm/xen_arm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> index a5631529d0..b9c3ae14b6 100644
> --- a/hw/arm/xen_arm.c
> +++ b/hw/arm/xen_arm.c
> @@ -231,7 +231,7 @@ static void xen_arm_machine_class_init(ObjectClass *oc, 
> void *data)
>      MachineClass *mc = MACHINE_CLASS(oc);
>      mc->desc = "Xen Para-virtualized PC";
>      mc->init = xen_arm_init;
> -    mc->max_cpus = 1;
> +    mc->max_cpus = GUEST_MAX_VCPUS;
>      mc->default_machine_opts = "accel=xen";
>      /* Set explicitly here to make sure that real ram_size is passed */
>      mc->default_ram_size = 0;


Reply via email to