(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 =)

Reply via email to