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;