(Cc'ing few more ppl who worked on hw/sd/)
On 31/7/25 23:27, Philippe Mathieu-Daudé wrote:
> This series fix a pair of issues with SD cards used wired
> via a SPI link / controller.
>
> Such mode implementation was minimal. I was testing it with
> the ARM Gumstix machines, but we remove them in the v9.2.0
> release (commit a2ccff4d2bc ), so they bit-rotted.
>
> Although the series looks big, I shrinked it a lot to have
> the minimum amount of meaningful changes. Other changes
> added during debugging will be shared later, as I believe
> they will still be useful to debug other future issues.
>
> The last patch add testing coverage, to avoid further bitrot.
>
> Regards,
>
> Phil.
>
> Philippe Mathieu-Daudé (11):
> hw/sd/sdcard: Do not ignore errors in sd_cmd_to_sendingdata()
> hw/sd/sdbus: Provide buffer size to sdbus_do_command()
> hw/sd/sdcard: Propagate response size to sd_response_r*_make()
> hw/sd/sdcard: Fill SPI response bits in card code
> hw/sd/sdcard: Implement SPI R2 return value
> hw/sd/sdcard: Use complete SEND_OP_COND implementation in SPI mode
> hw/sd/sdcard: Allow using SWITCH_FUNCTION in more SPI states
> hw/sd/sdcard: Factor spi_cmd_SEND_CxD() out
> hw/sd/sdcard: Disable checking STBY mode in SPI SEND_CSD/CID
> hw/sd/sdcard: Remove SDState::mode field
> tests/functional: Test SD cards in SPI mode (using sifive_u machine)
>
> MAINTAINERS | 1 +
> include/hw/sd/sd.h | 23 ++-
> hw/sd/allwinner-sdhost.c | 5 +-
> hw/sd/bcm2835_sdhost.c | 5 +-
> hw/sd/core.c | 5 +-
> hw/sd/omap_mmc.c | 2 +-
> hw/sd/pl181.c | 4 +-
> hw/sd/sd.c | 202 +++++++++++++++-------
> hw/sd/sdhci.c | 4 +-
> hw/sd/ssi-sd.c | 96 ++--------
> hw/sd/trace-events | 4 +-
> tests/functional/meson.build | 1 +
> tests/functional/test_riscv64_sifive_u.py | 51 ++++++
> 13 files changed, 238 insertions(+), 165 deletions(-)\
Without the 51 lines added by the test, only 22 lines of C are added =)