From: Thiago Jung Bauermann <bauerman@linux.ibm.com>
To: qemu-ppc@nongnu.org
Cc: Thiago Jung Bauermann <bauerman@linux.ibm.com>,
Peter Maydell <peter.maydell@linaro.org>,
Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>,
Cornelia Huck <cohuck@redhat.com>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
qemu-arm@nongnu.org, Artyom Tarasenko <atar4qemu@gmail.com>,
Thomas Huth <thuth@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
David Hildenbrand <david@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Aurelien Jarno <aurelien@aurel32.net>,
David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH v2 0/9] Generalize start-powered-off property from ARM
Date: Wed, 22 Jul 2020 00:50:07 -0300 [thread overview]
Message-ID: <20200722035016.469075-1-bauerman@linux.ibm.com> (raw)
The ARM code has a start-powered-off property in ARMCPU, which is a
subclass of CPUState. This property causes arm_cpu_reset() to set
CPUState::halted to 1, signalling that the CPU should start in a halted
state. Other architectures also have code which aim to achieve the same
effect, but without using a property.
The ppc/spapr version has a bug where QEMU does a KVM_RUN on the vcpu
before cs->halted is set to 1, causing the vcpu to run while it's still in
an unitialized state (more details in patch 3).
Peter Maydell mentioned the ARM start-powered-off property and
Eduardo Habkost suggested making it generic, so this patch series does
that, for all cases which I was able to find via grep in the code.
The only problem is that I was only able to test these changes on a ppc64le
pseries KVM guest, so except for patches 2 and 3, all others are only
build-tested. Also, my grasp of QOM lifecycle is basically non-existant so
please be aware of that when reviewing this series.
The last 3 patches I think are good cleanups but I'm even less confident in
their correctness compared to the other patches, so I marked them as RFC.
Applies cleanly on yesterday's master.
Thiago Jung Bauermann (9):
target/arm: Move start-powered-off property to generic CPUState
target/arm: Move setting of CPU halted state to generic code
ppc/spapr: Use start-powered-off CPUState property
ppc/e500: Use start-powered-off CPUState property
mips/cps: Use start-powered-off CPUState property
sparc/sun4m: Use start-powered-off CPUState property
sparc/sun4m: Don't set CPUState::halted in cpu_devinit()
sparc/sun4m: Use one cpu_reset() function for main and secondary CPUs
target/s390x: Use start-powered-off CPUState property
exec.c | 1 +
hw/core/cpu.c | 2 +-
hw/mips/cps.c | 6 +++---
hw/ppc/e500.c | 10 +++++++---
hw/ppc/spapr_cpu_core.c | 12 +++++++-----
hw/sparc/sun4m.c | 23 +++++------------------
include/hw/core/cpu.h | 4 ++++
target/arm/cpu.c | 4 +---
target/arm/cpu.h | 3 ---
target/arm/kvm32.c | 2 +-
target/arm/kvm64.c | 2 +-
target/s390x/cpu.c | 3 ++-
12 files changed, 33 insertions(+), 39 deletions(-)
next reply other threads:[~2020-07-22 3:52 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-22 3:50 Thiago Jung Bauermann [this message]
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-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-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-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-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-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é
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
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=20200722035016.469075-1-bauerman@linux.ibm.com \
--to=bauerman@linux.ibm.com \
--cc=aleksandar.qemu.devel@gmail.com \
--cc=aleksandar.rikalo@syrmia.com \
--cc=atar4qemu@gmail.com \
--cc=aurelien@aurel32.net \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.