Message ID | 20200722035016.469075-6-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 main_cpu_reset(), 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> > --- > hw/mips/cps.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > NB: I was only able to test that this patch builds. I wasn't able to > run it. > > diff --git a/hw/mips/cps.c b/hw/mips/cps.c > index 615e1a1ad2..d5b6c78019 100644 > --- a/hw/mips/cps.c > +++ b/hw/mips/cps.c > @@ -52,9 +52,6 @@ static void main_cpu_reset(void *opaque) > CPUState *cs = CPU(cpu); > > cpu_reset(cs); > - > - /* All VPs are halted on reset. Leave powering up to CPC. */ > - cs->halted = 1; > } > > static bool cpu_mips_itu_supported(CPUMIPSState *env) > @@ -89,6 +86,9 @@ static void mips_cps_realize(DeviceState *dev, Error **errp) > env->itc_tag = mips_itu_get_tag_region(&s->itu); > env->itu = &s->itu; > } > + /* All VPs are halted on reset. Leave powering up to CPC. */ > + object_property_set_bool(OBJECT(cpu), "start-powered-off", true, > + &error_abort); This is indeed better as now the property is set once, *after* realize but *before* reset. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > qemu_register_reset(main_cpu_reset, cpu); > } > >
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 main_cpu_reset(), 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> >> --- >> hw/mips/cps.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> NB: I was only able to test that this patch builds. I wasn't able to >> run it. >> >> diff --git a/hw/mips/cps.c b/hw/mips/cps.c >> index 615e1a1ad2..d5b6c78019 100644 >> --- a/hw/mips/cps.c >> +++ b/hw/mips/cps.c >> @@ -52,9 +52,6 @@ static void main_cpu_reset(void *opaque) >> CPUState *cs = CPU(cpu); >> >> cpu_reset(cs); >> - >> - /* All VPs are halted on reset. Leave powering up to CPC. */ >> - cs->halted = 1; >> } >> >> static bool cpu_mips_itu_supported(CPUMIPSState *env) >> @@ -89,6 +86,9 @@ static void mips_cps_realize(DeviceState *dev, Error **errp) >> env->itc_tag = mips_itu_get_tag_region(&s->itu); >> env->itu = &s->itu; >> } >> + /* All VPs are halted on reset. Leave powering up to CPC. */ >> + object_property_set_bool(OBJECT(cpu), "start-powered-off", true, >> + &error_abort); > > This is indeed better as now the property is set once, *after* realize > but *before* reset. > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Thanks for confirming! >> qemu_register_reset(main_cpu_reset, cpu); >> } >> >>
On Wed, Jul 22, 2020 at 12:50:12AM -0300, Thiago Jung Bauermann wrote: > Instead of setting CPUState::halted to 1 in main_cpu_reset(), 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> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/mips/cps.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > NB: I was only able to test that this patch builds. I wasn't able to > run it. > > diff --git a/hw/mips/cps.c b/hw/mips/cps.c > index 615e1a1ad2..d5b6c78019 100644 > --- a/hw/mips/cps.c > +++ b/hw/mips/cps.c > @@ -52,9 +52,6 @@ static void main_cpu_reset(void *opaque) > CPUState *cs = CPU(cpu); > > cpu_reset(cs); > - > - /* All VPs are halted on reset. Leave powering up to CPC. */ > - cs->halted = 1; > } > > static bool cpu_mips_itu_supported(CPUMIPSState *env) > @@ -89,6 +86,9 @@ static void mips_cps_realize(DeviceState *dev, Error **errp) > env->itc_tag = mips_itu_get_tag_region(&s->itu); > env->itu = &s->itu; > } > + /* All VPs are halted on reset. Leave powering up to CPC. */ > + object_property_set_bool(OBJECT(cpu), "start-powered-off", true, > + &error_abort); > qemu_register_reset(main_cpu_reset, cpu); > } > >
diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 615e1a1ad2..d5b6c78019 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -52,9 +52,6 @@ static void main_cpu_reset(void *opaque) CPUState *cs = CPU(cpu); cpu_reset(cs); - - /* All VPs are halted on reset. Leave powering up to CPC. */ - cs->halted = 1; } static bool cpu_mips_itu_supported(CPUMIPSState *env) @@ -89,6 +86,9 @@ static void mips_cps_realize(DeviceState *dev, Error **errp) env->itc_tag = mips_itu_get_tag_region(&s->itu); env->itu = &s->itu; } + /* All VPs are halted on reset. Leave powering up to CPC. */ + object_property_set_bool(OBJECT(cpu), "start-powered-off", true, + &error_abort); qemu_register_reset(main_cpu_reset, cpu); }
Instead of setting CPUState::halted to 1 in main_cpu_reset(), 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> --- hw/mips/cps.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) NB: I was only able to test that this patch builds. I wasn't able to run it.