This patchset fixes a number of bugs in our SD card emulation, mostly in the status bit handling. In particular, it fixes the issues raised in https://bugs.launchpad.net/qemu/+bug/597641 . The others are things I noticed while I was poking around in the code.
Patches 01-04, 07 are pretty straightforward. 05, 06 are refactoring for the benefit of later patches. 08 and 09 are more interesting. 10 makes sense to me although the spec is rather vague on the point. Peter Maydell (10): hw/sd.c: Fix the set of commands which are failed when card is locked hw/sd.c: Add comment regarding CARD_STATUS_* defines hw/sd.c: On CRC error, set CRC error status bit rather than clearing it hw/sd.c: When setting ADDRESS_ERROR bit, don't clear everything else hw/sd.c: Handle illegal commands in sd_do_command hw/sd.c: Handle CRC and locked-card errors in normal code path hw/sd.c: Set ILLEGAL_COMMAND for ACMDs in invalid state hw/sd.c: Correct handling of type B SD status bits hw/sd.c: Correct handling of APP_CMD status bit hw/sd.c: Clear status bits when read via response r6 hw/sd.c | 131 ++++++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 84 insertions(+), 47 deletions(-) -- 1.7.5.4