Message ID | 20231121221023.419901-6-volodymyr_babchuk@epam.com |
---|---|
State | New |
Headers | show |
Series | xen-arm: add support for virtio-pci | expand |
On 21/11/23 23:10, Volodymyr Babchuk wrote: > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@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_tyshchenko@epam.com> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> > --- > hw/arm/xen_arm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On Tue, 21 Nov 2023 22:10:28 +0000 Volodymyr Babchuk <Volodymyr_Babchuk@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_tyshchenko@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_tyshchenko@epam.com> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@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;
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;