Message ID | 20200722035016.469075-10-bauerman@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | Generalize start-powered-off property from ARM | expand |
On 7/22/20 5:50 AM, Thiago Jung Bauermann wrote: > Instead of setting CPUState::halted to 1 in s390_cpu_initfn(), use the > start-powered-off property which makes cpu_common_reset() initialize it to > 1 in common code. > > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> > --- > target/s390x/cpu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > NB: I was only able to test that this patch builds. I wasn't able to > run it. > > diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c > index 08eb674d22..d3a14af1d9 100644 > --- a/target/s390x/cpu.c > +++ b/target/s390x/cpu.c > @@ -291,7 +291,8 @@ static void s390_cpu_initfn(Object *obj) > S390CPU *cpu = S390_CPU(obj); > > cpu_set_cpustate_pointers(cpu); > - cs->halted = 1; > + object_property_set_bool(OBJECT(cs), "start-powered-off", true, > + &error_abort); Here this seems overkill since this is the same object, so you can directly do: + cs->start_powered_off = true; > cs->exception_index = EXCP_HLT; > #if !defined(CONFIG_USER_ONLY) > object_property_add(obj, "crash-information", "GuestPanicInformation", >
On Wed, Jul 22, 2020 at 12:50:16AM -0300, Thiago Jung Bauermann wrote: > Instead of setting CPUState::halted to 1 in s390_cpu_initfn(), use the > start-powered-off property which makes cpu_common_reset() initialize it to > 1 in common code. > > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> > --- > target/s390x/cpu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > NB: I was only able to test that this patch builds. I wasn't able to > run it. > > diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c > index 08eb674d22..d3a14af1d9 100644 > --- a/target/s390x/cpu.c > +++ b/target/s390x/cpu.c > @@ -291,7 +291,8 @@ static void s390_cpu_initfn(Object *obj) > S390CPU *cpu = S390_CPU(obj); > > cpu_set_cpustate_pointers(cpu); > - cs->halted = 1; > + object_property_set_bool(OBJECT(cs), "start-powered-off", true, > + &error_abort); Is this really OK? s390 CPUs don't seem to set halted=1 on reset today. > cs->exception_index = EXCP_HLT; > #if !defined(CONFIG_USER_ONLY) > object_property_add(obj, "crash-information", "GuestPanicInformation", >
Philippe Mathieu-Daudé <philmd@redhat.com> writes: > On 7/22/20 5:50 AM, Thiago Jung Bauermann wrote: >> Instead of setting CPUState::halted to 1 in s390_cpu_initfn(), use the >> start-powered-off property which makes cpu_common_reset() initialize it to >> 1 in common code. >> >> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> >> --- >> target/s390x/cpu.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> NB: I was only able to test that this patch builds. I wasn't able to >> run it. >> >> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c >> index 08eb674d22..d3a14af1d9 100644 >> --- a/target/s390x/cpu.c >> +++ b/target/s390x/cpu.c >> @@ -291,7 +291,8 @@ static void s390_cpu_initfn(Object *obj) >> S390CPU *cpu = S390_CPU(obj); >> >> cpu_set_cpustate_pointers(cpu); >> - cs->halted = 1; >> + object_property_set_bool(OBJECT(cs), "start-powered-off", true, >> + &error_abort); > > Here this seems overkill since this is the same object, so you can > directly do: > > + cs->start_powered_off = true; I adopted your suggestion.
Eduardo Habkost <ehabkost@redhat.com> writes: > On Wed, Jul 22, 2020 at 12:50:16AM -0300, Thiago Jung Bauermann wrote: >> Instead of setting CPUState::halted to 1 in s390_cpu_initfn(), use the >> start-powered-off property which makes cpu_common_reset() initialize it to >> 1 in common code. >> >> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> >> --- >> target/s390x/cpu.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> NB: I was only able to test that this patch builds. I wasn't able to >> run it. >> >> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c >> index 08eb674d22..d3a14af1d9 100644 >> --- a/target/s390x/cpu.c >> +++ b/target/s390x/cpu.c >> @@ -291,7 +291,8 @@ static void s390_cpu_initfn(Object *obj) >> S390CPU *cpu = S390_CPU(obj); >> >> cpu_set_cpustate_pointers(cpu); >> - cs->halted = 1; >> + object_property_set_bool(OBJECT(cs), "start-powered-off", true, >> + &error_abort); > > Is this really OK? s390 CPUs don't seem to set halted=1 on reset > today. Hm, good point. That is indeed a behavior change that this patch introduces. I'll point it out in the description for v3, and if it's wrong then this patch can simply be dropped. -- Thiago Jung Bauermann IBM Linux Technology Center
diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 08eb674d22..d3a14af1d9 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -291,7 +291,8 @@ static void s390_cpu_initfn(Object *obj) S390CPU *cpu = S390_CPU(obj); cpu_set_cpustate_pointers(cpu); - cs->halted = 1; + object_property_set_bool(OBJECT(cs), "start-powered-off", true, + &error_abort); cs->exception_index = EXCP_HLT; #if !defined(CONFIG_USER_ONLY) object_property_add(obj, "crash-information", "GuestPanicInformation",
Instead of setting CPUState::halted to 1 in s390_cpu_initfn(), use the start-powered-off property which makes cpu_common_reset() initialize it to 1 in common code. Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> --- target/s390x/cpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) NB: I was only able to test that this patch builds. I wasn't able to run it.