diff options
author | Matthew Rosato <mjrosato@linux.vnet.ibm.com> | 2016-03-04 12:34:29 -0500 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2016-03-10 10:37:15 +0100 |
commit | d2eae20790e825656b205dbe347826ff991fb3d8 (patch) | |
tree | feab08d5f041b3e54766bdc7762a8e982e051990 /hw/s390x | |
parent | a648c137383d84bc4f95696e5293978d9541a26e (diff) | |
download | qemu-d2eae20790e825656b205dbe347826ff991fb3d8.zip qemu-d2eae20790e825656b205dbe347826ff991fb3d8.tar.gz qemu-d2eae20790e825656b205dbe347826ff991fb3d8.tar.bz2 |
s390x/cpu: Cleanup init in preparation for hotplug
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 <mjrosato@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Message-Id: <1457112875-5209-2-git-send-email-mjrosato@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'hw/s390x')
-rw-r--r-- | hw/s390x/s390-virtio-ccw.c | 2 | ||||
-rw-r--r-- | hw/s390x/s390-virtio.c | 8 | ||||
-rw-r--r-- | 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 8e533ae..d40d0dc 100644 --- a/hw/s390x/s390-virtio.c +++ b/hw/s390x/s390-virtio.c @@ -93,12 +93,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"; } ipi_states = g_malloc(sizeof(S390CPU *) * smp_cpus); @@ -107,7 +107,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, |