Message ID | 20210928035755.11684-13-wangyanan55@huawei.com |
---|---|
State | New |
Headers | show |
Series | machine: smp parsing fixes and improvement | expand |
On Tue, Sep 28, 2021 at 11:57:53AM +0800, Yanan Wang wrote: > Now we have a generic smp parser for all arches, and there will > not be any other arch specific ones, so let's remove the callback > from MachineClass and call the parser directly. > > Signed-off-by: Yanan Wang <wangyanan55@huawei.com> > Reviewed-by: Andrew Jones <drjones@redhat.com> > --- > hw/core/machine.c | 3 +-- > include/hw/boards.h | 5 ----- > 2 files changed, 1 insertion(+), 7 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
On 9/28/21 05:57, Yanan Wang wrote: > Now we have a generic smp parser for all arches, and there will > not be any other arch specific ones, so let's remove the callback > from MachineClass and call the parser directly. > > Signed-off-by: Yanan Wang <wangyanan55@huawei.com> > Reviewed-by: Andrew Jones <drjones@redhat.com> > --- > hw/core/machine.c | 3 +-- > include/hw/boards.h | 5 ----- > 2 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/hw/core/machine.c b/hw/core/machine.c > index f5dadcbd78..23f77201eb 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -918,7 +918,7 @@ static void machine_set_smp(Object *obj, Visitor *v, const char *name, > "CPU topology parameters must be greater than zero"); > } > > - mc->smp_parse(ms, config, errp); > + smp_parse(ms, config, errp); > if (*errp) { If smp_parse() were to return a boolean, this would become: if (!smp_parse(ms, config, errp)) { Regardless: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > goto out_free; > }
diff --git a/hw/core/machine.c b/hw/core/machine.c index f5dadcbd78..23f77201eb 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -918,7 +918,7 @@ static void machine_set_smp(Object *obj, Visitor *v, const char *name, "CPU topology parameters must be greater than zero"); } - mc->smp_parse(ms, config, errp); + smp_parse(ms, config, errp); if (*errp) { goto out_free; } @@ -947,7 +947,6 @@ static void machine_class_init(ObjectClass *oc, void *data) /* Default 128 MB as guest ram size */ mc->default_ram_size = 128 * MiB; mc->rom_file_has_mr = true; - mc->smp_parse = smp_parse; /* numa node memory size aligned on 8MB by default. * On Linux, each node's border has to be 8MB aligned diff --git a/include/hw/boards.h b/include/hw/boards.h index 72a23e4e0f..fa284e01e9 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -177,10 +177,6 @@ typedef struct { * kvm-type may be NULL if it is not needed. * @numa_mem_supported: * true if '--numa node.mem' option is supported and false otherwise - * @smp_parse: - * The function pointer to hook different machine specific functions for - * parsing "smp-opts" from QemuOpts to MachineState::CpuTopology and more - * machine specific topology fields, such as smp_dies for PCMachine. * @hotplug_allowed: * If the hook is provided, then it'll be called for each device * hotplug to check whether the device hotplug is allowed. Return @@ -217,7 +213,6 @@ struct MachineClass { void (*reset)(MachineState *state); void (*wakeup)(MachineState *state); int (*kvm_type)(MachineState *machine, const char *arg); - void (*smp_parse)(MachineState *ms, SMPConfiguration *config, Error **errp); BlockInterfaceType block_default_type; int units_per_default_bus;