For each switch case in the big sd_normal_command() function,
extract the corresponding sd_cmd_handler.
Based-on: <20240627163843.81592-1-philmd@linaro.org>
Full series for testing:
https://gitlab.com/philmd/qemu/-/tags/emmc-v4
Philippe Mathieu-Daudé (21):
hw/sd/sdcard: Add sd_cmd_SWITCH_FUNCTION handler (CMD6)
hw/sd/sdcard: Add sd_cmd_DE/SELECT_CARD handler (CMD7)
hw/sd/sdcard: Add sd_cmd_SEND_IF_COND handler (CMD8)
hw/sd/sdcard: Add sd_cmd_SEND_CSD/CID handlers (CMD9 & CMD10)
hw/sd/sdcard: Add spi_cmd_SEND_CSD/CID handlers (CMD9 & CMD10)
hw/sd/sdcard: Add sd_cmd_STOP_TRANSMISSION handler (CMD12)
hw/sd/sdcard: Add sd_cmd_SEND_STATUS handler (CMD13)
hw/sd/sdcard: Add sd_cmd_GO_INACTIVE_STATE handler (CMD15)
hw/sd/sdcard: Add sd_cmd_SET_BLOCKLEN handler (CMD16)
hw/sd/sdcard: Add sd_cmd_READ_SINGLE_BLOCK handler (CMD17)
hw/sd/sdcard: Add sd_cmd_WRITE_SINGLE_BLOCK handler (CMD24)
hw/sd/sdcard: Add sd_cmd_PROGRAM_CSD handler (CMD27)
hw/sd/sdcard: Add sd_cmd_SET/CLR_WRITE_PROT handler (CMD28 & CMD29)
hw/sd/sdcard: Add sd_cmd_SEND_WRITE_PROT handler (CMD30)
hw/sd/sdcard: Add sd_cmd_ERASE_WR_BLK_START/END handlers (CMD32 &
CMD33)
hw/sd/sdcard: Add sd_cmd_ERASE handler (CMD38)
hw/sd/sdcard: Add sd_cmd_LOCK_UNLOCK handler (CMD42)
hw/sd/sdcard: Add sd_cmd_APP_CMD handler (CMD55)
hw/sd/sdcard: Add sd_cmd_GEN_CMD handler (CMD56)
hw/sd/sdcard: Add spi_cmd_READ_OCR handler (CMD58)
hw/sd/sdcard: Add spi_cmd_CRC_ON_OFF handler (CMD59)
hw/sd/sd.c | 843 +++++++++++++++++++++++++++++------------------------
1 file changed, 459 insertions(+), 384 deletions(-)
--
2.41.0