diff options
author | Matthew Rosato <mjrosato@linux.vnet.ibm.com> | 2016-03-04 12:34:29 -0500 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineering.com> | 2019-11-29 19:49:36 -0600 |
commit | 5351ed0fd98aa3b978b187f1821d581ca4aff749 (patch) | |
tree | 8e2f3615f61a2aefe53c654eb1d8c10396024b7c /hw/s390x | |
parent | 8fd6766b5a705500af3bfb47a3db0613ae991d5d (diff) | |
download | hqemu-5351ed0fd98aa3b978b187f1821d581ca4aff749.zip hqemu-5351ed0fd98aa3b978b187f1821d581ca4aff749.tar.gz |
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, |