Skip to content

Attaching SD-Card to specific SD-Bus Sabrelite (ARM)

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1895895

Currently, I am looking for a method of attaching an sd-card to a specific
bus as opposed to defaulting to the first.

QEMU Version: 5.0.0
Specifically trying to use qemu-system-arm binary


Running an "info qtree" shows the output seen in the attached image. I
have attempted multiple different combinations of arguments to attempt to
get the sd-card to appear on the FOURTH sd-bus but no luck. The machine
type being used is Sabrelite. It should be noted that I was able to PATCH
QEMU to achieve the result I expected but I had hoped this functionality
was already available and did not require modification to QEMU itself.


For reference, this is the patch that was made to source to allow the card
to attach to a specific bus. After the change was made, an sd-card could
be attached to a bus with the following flags:

-drive file=sdcard.img,format=raw,id=mycard -device sd-
card,drive=mycard,bus=sd-bus.0


diff qemu-5.1.0.orig/hw/sd/sdhci.c qemu-5.1.0/hw/sd/sdhci.c
1311a1312,1314
>     static int index=0;
>     char name[64];
>     sprintf(name, "sd-bus.%d", index++);
1313c1316
<                         TYPE_SDHCI_BUS, DEVICE(s), "sd-bus");
---
>                         TYPE_SDHCI_BUS, DEVICE(s), name);



If there is a way to attach an sd-card to the specific bus that does NOT
require this change, I'd appreciate it.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information