From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-arm@nongnu.org, qemu-devel@nongnu.org
Cc: patches@linaro.org, qemu-stable@nongnu.org,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [Qemu-devel] [PATCH 0/4] Reset SD cards attached to legacy-API controllers
Date: Tue, 9 Jan 2018 14:01:49 +0000 [thread overview]
Message-ID: <1515506513-31961-1-git-send-email-peter.maydell@linaro.org> (raw)
It turns out that we don't reset the SD card model if it's
attached to a legacy-API controller. For new-style controllers
where the SD card object is attached to an SD_BUS, the generic
qbus infrastructure takes care of ensuring that the card's
DeviceState::reset method gets called. But for the legacy
API where the card is created by calling sd_init(), the card
object has no SD_BUS to plug into, and so the reset function
must be called manually.
This mostly had no ill effects because a guest OS will typically
perform an SD reset command as part of its device driver init
sequence. However it does mean that migration won't work, because
it's in sd_reset() that we set up the wpgrps_size field, and
without that the migration struct on reload won't match.
This patchset fixes up the four legacy controllers to call
reset on the SD card device in their controller reset functions.
The first 3 are cc:stable as migration bugfixes.
This fixes https://bugs.launchpad.net/qemu/+bug/1739378
Philippe: this probably clashes slightly with your sdcard
patchsets (and where you've updated devices to the new APIs
it becomes irrelevant), but I think we should apply these
first so we can have a simple patch to backport to the stable
tree.
Notes:
* OMAP doesn't migrate anyway, so isn't cc:stable
* for vexpress-a15, you also need "-machine secure=off":
a config with trustzone emulation enabled doesn't
successfully migrate (haven't yet debugged why)
thanks
-- PMM
Peter Maydell (4):
hw/sd/pl181: Reset SD card on controller reset
hw/sd/milkymist-memcard: Reset SD card on controller reset
hw/sd/ssi-sd: Reset SD card on controller reset
hw/sd/omap_mmc: Reset SD card on controller reset
hw/sd/milkymist-memcard.c | 4 ++++
hw/sd/omap_mmc.c | 14 ++++++++++----
hw/sd/pl181.c | 4 ++++
hw/sd/ssi-sd.c | 24 +++++++++++++++++++++++-
4 files changed, 41 insertions(+), 5 deletions(-)
--
2.7.4
next reply other threads:[~2018-01-09 14:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-09 14:01 Peter Maydell [this message]
2018-01-09 14:01 ` [Qemu-devel] [PATCH 1/4] hw/sd/pl181: Reset SD card on controller reset Peter Maydell
2018-01-09 14:01 ` [Qemu-devel] [PATCH 2/4] hw/sd/milkymist-memcard: " Peter Maydell
2018-01-09 16:08 ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-01-09 14:01 ` [Qemu-devel] [PATCH 3/4] hw/sd/ssi-sd: " Peter Maydell
2018-01-09 16:25 ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-01-09 16:28 ` Peter Maydell
2018-01-09 16:38 ` Philippe Mathieu-Daudé
2018-01-09 14:01 ` [Qemu-devel] [PATCH 4/4] hw/sd/omap_mmc: " Peter Maydell
2018-06-08 3:44 ` Philippe Mathieu-Daudé
2018-06-08 20:41 ` Philippe Mathieu-Daudé
2018-01-09 16:13 ` [Qemu-devel] [Qemu-arm] [PATCH 0/4] Reset SD cards attached to legacy-API controllers Philippe Mathieu-Daudé
2018-01-09 16:16 ` Peter Maydell
2018-01-15 12:07 ` Peter Maydell
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=1515506513-31961-1-git-send-email-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=f4bug@amsat.org \
--cc=patches@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
/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).