Message ID | 20170918160012.4317-2-david@redhat.com |
---|---|
State | New |
Headers | show |
Series | s390x: SMP for TCG (+ cleanups) | expand |
On 09/18/2017 05:59 PM, David Hildenbrand wrote: > Let's move it into the machine, so we trigger the IRQ after setting > ms->possible_cpus (which SCLP uses to construct the list of > online CPUs). > > Signed-off-by: David Hildenbrand <david@redhat.com> Makes sense Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > hw/s390x/s390-virtio-ccw.c | 4 ++++ > target/s390x/cpu.c | 8 -------- > 2 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 0471407187..d5a12a2472 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -327,6 +327,10 @@ static void s390_cpu_plug(HotplugHandler *hotplug_dev, > > g_assert(!ms->possible_cpus->cpus[cpu->env.core_id].cpu); > ms->possible_cpus->cpus[cpu->env.core_id].cpu = OBJECT(dev); > + > + if (dev->hotplugged) { > + raise_irq_cpu_hotplug(); > + } > } > > static void s390_machine_reset(void) > diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c > index 34538c3ab9..4920da3625 100644 > --- a/target/s390x/cpu.c > +++ b/target/s390x/cpu.c > @@ -41,7 +41,6 @@ > #include "hw/hw.h" > #include "sysemu/arch_init.h" > #include "sysemu/sysemu.h" > -#include "hw/s390x/sclp.h" > #endif > > #define CR0_RESET 0xE0UL > @@ -227,13 +226,6 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp) > #endif > > scc->parent_realize(dev, &err); > - > -#if !defined(CONFIG_USER_ONLY) > - if (dev->hotplugged) { > - raise_irq_cpu_hotplug(); > - } > -#endif > - > out: > error_propagate(errp, err); > } >
On 09/18/2017 08:59 AM, David Hildenbrand wrote: > Let's move it into the machine, so we trigger the IRQ after setting > ms->possible_cpus (which SCLP uses to construct the list of > online CPUs). > > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > hw/s390x/s390-virtio-ccw.c | 4 ++++ > target/s390x/cpu.c | 8 -------- > 2 files changed, 4 insertions(+), 8 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 0471407187..d5a12a2472 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -327,6 +327,10 @@ static void s390_cpu_plug(HotplugHandler *hotplug_dev, g_assert(!ms->possible_cpus->cpus[cpu->env.core_id].cpu); ms->possible_cpus->cpus[cpu->env.core_id].cpu = OBJECT(dev); + + if (dev->hotplugged) { + raise_irq_cpu_hotplug(); + } } static void s390_machine_reset(void) diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 34538c3ab9..4920da3625 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -41,7 +41,6 @@ #include "hw/hw.h" #include "sysemu/arch_init.h" #include "sysemu/sysemu.h" -#include "hw/s390x/sclp.h" #endif #define CR0_RESET 0xE0UL @@ -227,13 +226,6 @@ static void s390_cpu_realizefn(DeviceState *dev, Error **errp) #endif scc->parent_realize(dev, &err); - -#if !defined(CONFIG_USER_ONLY) - if (dev->hotplugged) { - raise_irq_cpu_hotplug(); - } -#endif - out: error_propagate(errp, err); }
Let's move it into the machine, so we trigger the IRQ after setting ms->possible_cpus (which SCLP uses to construct the list of online CPUs). Signed-off-by: David Hildenbrand <david@redhat.com> --- hw/s390x/s390-virtio-ccw.c | 4 ++++ target/s390x/cpu.c | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-)