I'd like to be able to emulate SD cards on x86 machines for testing purposes. I put together a patch series to modify the existing SDHCI code so that it can also be used as a PCI device, and can thus be used on any PCI platform (such as x86).
Vincent Palatin had patches to do this a couple of years ago, but his patches no longer apply to the current qemu tree. See: https://lists.nongnu.org/archive/html/qemu-devel/2011-07/msg02833.html This series is not directly based on Vincent's patches, and is instead mainly based on the sdhci code currently in the qemu tree. I've lightly tested this series on x86 and confirmed that a standard linux kernel can find and mount the given device. To test, I add the following to the command line: -device sdhci-pci -sd my-drive Unfortunately, I have not been able to test the existing arm support (which uses sysbus), but I will test if I can find an available qemu arm image. I'm not that familiar with QEMU internals. Comments welcome. -Kevin Kevin O'Connor (4): sdhci: Remove class "virtual" methods sdhci: Add "sysbus" to sdhci QOM types and methods sdhci: Support SDHCI devices on PCI sdhci: Set a default frequency clock default-configs/pci.mak | 2 + hw/sd/sdhci.c | 199 +++++++++++++++++++++++++---------------------- hw/sd/sdhci.h | 39 +++------- include/hw/pci/pci.h | 1 + include/hw/pci/pci_ids.h | 1 + 5 files changed, 120 insertions(+), 122 deletions(-) -- 1.9.3