From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Thiago Jung Bauermann <bauerman@linux.ibm.com>, qemu-ppc@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
Eduardo Habkost <ehabkost@redhat.com>,
David Hildenbrand <david@redhat.com>,
qemu-s390x@nongnu.org, Cornelia Huck <cohuck@redhat.com>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org,
Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>,
qemu-arm@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>,
Thomas Huth <thuth@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
David Gibson <david@gibson.dropbear.id.au>,
Artyom Tarasenko <atar4qemu@gmail.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [RFC PATCH v2 8/9] sparc/sun4m: Use one cpu_reset() function for main and secondary CPUs
Date: Wed, 22 Jul 2020 09:22:28 +0200 [thread overview]
Message-ID: <21df06b3-725f-9bba-7e98-db8b74d97902@redhat.com> (raw)
In-Reply-To: <20200722035016.469075-9-bauerman@linux.ibm.com>
On 7/22/20 5:50 AM, Thiago Jung Bauermann wrote:
> If we rely on cpu_common_reset() setting CPUState::halted according to the
> start-powered-off property, both reset functions become equivalent and we
> can use only one.
>
> Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
> ---
> hw/sparc/sun4m.c | 21 ++++-----------------
> 1 file changed, 4 insertions(+), 17 deletions(-)
>
> NB: I was only able to test that this patch builds. I wasn't able to
> run it.
>
> diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
> index 7b3042a801..deb5e9f027 100644
> --- a/hw/sparc/sun4m.c
> +++ b/hw/sparc/sun4m.c
> @@ -218,16 +218,7 @@ static void dummy_cpu_set_irq(void *opaque, int irq, int level)
> {
> }
>
> -static void main_cpu_reset(void *opaque)
> -{
> - SPARCCPU *cpu = opaque;
> - CPUState *cs = CPU(cpu);
> -
> - cpu_reset(cs);
> - cs->halted = 0;
> -}
> -
> -static void secondary_cpu_reset(void *opaque)
> +static void sun4m_cpu_reset(void *opaque)
> {
> SPARCCPU *cpu = opaque;
> CPUState *cs = CPU(cpu);
> @@ -818,7 +809,6 @@ static const TypeInfo ram_info = {
> static void cpu_devinit(const char *cpu_type, unsigned int id,
> uint64_t prom_addr, qemu_irq **cpu_irqs)
> {
> - CPUState *cs;
> SPARCCPU *cpu;
> CPUSPARCState *env;
>
> @@ -826,12 +816,9 @@ static void cpu_devinit(const char *cpu_type, unsigned int id,
> env = &cpu->env;
>
> cpu_sparc_set_id(env, id);
> - if (id == 0) {
> - qemu_register_reset(main_cpu_reset, cpu);
IMO it is easier to review this patch in 2, first drop main_cpu_reset
as it is pointless (we rely on cpu_common_reset), then set the
"start-powered-off" property and drop secondary_cpu_reset().
> - } else {
> - qemu_register_reset(secondary_cpu_reset, cpu);
> - cs = CPU(cpu);
> - object_property_set_bool(OBJECT(cs), "start-powered-off", true,
> + qemu_register_reset(sun4m_cpu_reset, cpu);
Why do you still keep it?
> + if (id != 0) {
> + object_property_set_bool(OBJECT(cpu), "start-powered-off", true,
> &error_abort);
At this point the CPU is realized, so this is correct.
I'd use directly:
object_property_set_bool(OBJECT(cpu), "start-powered-off", !!id,
&error_abort);
> }
> *cpu_irqs = qemu_allocate_irqs(cpu_set_irq, cpu, MAX_PILS);
>
next prev parent reply other threads:[~2020-07-22 7:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-22 3:50 [PATCH v2 0/9] Generalize start-powered-off property from ARM Thiago Jung Bauermann
2020-07-22 3:50 ` [PATCH v2 1/9] target/arm: Move start-powered-off property to generic CPUState Thiago Jung Bauermann
2020-07-22 6:52 ` Philippe Mathieu-Daudé
2020-07-23 0:38 ` Thiago Jung Bauermann
2020-07-23 0:55 ` David Gibson
2020-07-23 3:17 ` Thiago Jung Bauermann
2020-07-22 3:50 ` [PATCH v2 2/9] target/arm: Move setting of CPU halted state to generic code Thiago Jung Bauermann
2020-07-22 6:54 ` Philippe Mathieu-Daudé
2020-07-23 0:55 ` David Gibson
2020-07-22 3:50 ` [PATCH v2 3/9] ppc/spapr: Use start-powered-off CPUState property Thiago Jung Bauermann
2020-07-22 7:13 ` Philippe Mathieu-Daudé
2020-07-23 0:40 ` Thiago Jung Bauermann
2020-07-22 3:50 ` [PATCH v2 4/9] ppc/e500: " Thiago Jung Bauermann
2020-07-22 6:55 ` Philippe Mathieu-Daudé
2020-07-23 0:56 ` David Gibson
2020-07-22 3:50 ` [PATCH v2 5/9] mips/cps: " Thiago Jung Bauermann
2020-07-22 7:09 ` Philippe Mathieu-Daudé
2020-07-23 0:42 ` Thiago Jung Bauermann
2020-07-23 0:57 ` David Gibson
2020-07-22 3:50 ` [PATCH v2 6/9] sparc/sun4m: " Thiago Jung Bauermann
2020-07-23 0:57 ` David Gibson
2020-07-22 3:50 ` [RFC PATCH v2 7/9] sparc/sun4m: Don't set CPUState::halted in cpu_devinit() Thiago Jung Bauermann
2020-07-22 7:02 ` Philippe Mathieu-Daudé
2020-07-23 0:45 ` Thiago Jung Bauermann
2020-07-22 3:50 ` [RFC PATCH v2 8/9] sparc/sun4m: Use one cpu_reset() function for main and secondary CPUs Thiago Jung Bauermann
2020-07-22 7:22 ` Philippe Mathieu-Daudé [this message]
2020-07-23 0:48 ` Thiago Jung Bauermann
2020-07-22 3:50 ` [RFC PATCH v2 9/9] target/s390x: Use start-powered-off CPUState property Thiago Jung Bauermann
2020-07-22 7:06 ` Philippe Mathieu-Daudé
2020-07-23 0:50 ` Thiago Jung Bauermann
2020-07-22 17:00 ` Eduardo Habkost
2020-07-23 0:51 ` Thiago Jung Bauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=21df06b3-725f-9bba-7e98-db8b74d97902@redhat.com \
--to=philmd@redhat.com \
--cc=aleksandar.qemu.devel@gmail.com \
--cc=aleksandar.rikalo@syrmia.com \
--cc=atar4qemu@gmail.com \
--cc=aurelien@aurel32.net \
--cc=bauerman@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=rth@twiddle.net \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).