Am 22.02.2016 um 18:06 schrieb Matthew Rosato: > Ensure a valid cpu_model is set upfront by setting the > default value directly into the MachineState when none is > specified. This is needed to ensure hotplugged CPUs share > the same cpu_model. > > Signed-off-by: Matthew Rosato <mjros...@linux.vnet.ibm.com> > Reviewed-by: David Hildenbrand <d...@linux.vnet.ibm.com> > --- > hw/s390x/s390-virtio-ccw.c | 2 +- > hw/s390x/s390-virtio.c | 8 ++++---- > hw/s390x/s390-virtio.h | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 89f5d0d..b05ed8b 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -136,7 +136,7 @@ static void ccw_init(MachineState *machine) > virtio_ccw_register_hcalls(); > > /* init CPUs */ > - s390_init_cpus(machine->cpu_model); > + s390_init_cpus(machine); > > if (kvm_enabled()) { > kvm_s390_enable_css_support(s390_cpu_addr2state(0)); > diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c > index c320878..b576811 100644 > --- a/hw/s390x/s390-virtio.c > +++ b/hw/s390x/s390-virtio.c > @@ -95,12 +95,12 @@ void s390_init_ipl_dev(const char *kernel_filename, > qdev_init_nofail(dev); > } > > -void s390_init_cpus(const char *cpu_model) > +void s390_init_cpus(MachineState *machine) > { > int i; > > - if (cpu_model == NULL) { > - cpu_model = "host"; > + if (machine->cpu_model == NULL) { > + machine->cpu_model = "host";
When/why is cpu_model == NULL? Could you simply set it as a default in your machine's instance_init? Regards, Andreas > } > > ipi_states = g_malloc(sizeof(S390CPU *) * smp_cpus); > @@ -109,7 +109,7 @@ void s390_init_cpus(const char *cpu_model) > S390CPU *cpu; > CPUState *cs; > > - cpu = cpu_s390x_init(cpu_model); > + cpu = cpu_s390x_init(machine->cpu_model); > cs = CPU(cpu); > > ipi_states[i] = cpu; > diff --git a/hw/s390x/s390-virtio.h b/hw/s390x/s390-virtio.h > index eebce8e..ffd014c 100644 > --- a/hw/s390x/s390-virtio.h > +++ b/hw/s390x/s390-virtio.h > @@ -19,7 +19,7 @@ > typedef int (*s390_virtio_fn)(const uint64_t *args); > void s390_register_virtio_hypercall(uint64_t code, s390_virtio_fn fn); > > -void s390_init_cpus(const char *cpu_model); > +void s390_init_cpus(MachineState *machine); > void s390_init_ipl_dev(const char *kernel_filename, > const char *kernel_cmdline, > const char *initrd_filename, > -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg)