On Mon, 2025-10-27 at 13:44 +0100, Philippe Mathieu-Daudé wrote: > On 27/10/25 13:35, Daniel P. Berrangé wrote: > > On Mon, Oct 27, 2025 at 01:23:56PM +0100, Philippe Mathieu-Daudé wrote: > > > On 27/10/25 12:55, Daniel P. Berrangé wrote: > > > > On Fri, Oct 17, 2025 at 02:03:54PM +0200, Jan Kiszka wrote: > > > > > From: Jan Kiszka <[email protected]> > > > > > > > > > > Enable user-instantiation so that PCI-attached eMMCs can be created > > > > > for > > > > > virt machines, for QA purposes for the eMMC model itself and for > > > > > complex > > > > > firmware/OS integrations using the upcoming RPMB partition support. > > > > > > > > IIUC, the 'emmc' device wants an 'sd-bus' but this commit talks about > > > > it being PCI-attached ? > > > > > > Sigh, it should not, but it got introduced this way and we didn't > > > have time / energy / good reason to rework the code, which currently > > > just works. > > > > > > SD / MMC cards -> plugged over external SD bus > > > > > > embedded MMC cards -> no SD bus, directly mmio-mapped. > > > > > > > > > > > Can you elaborate on / illustrate the usage example for an end user ? > > > > > > Saving time by testing virtual hardware, without having to implement a > > > real model. > > > > Ok, more specifically, what are the suggested QEMU command line > > args to make use of this with PCI ? > > See patch #6 documentation: > > + -drive file=emmc.img,if=none,format=raw,id=emmc-img > + -device sdhci-pci > + -device > emmc,drive=emmc-img,boot-partition-size=1048576,rpmb-partition-size=2097152
For example, our current use for an earlier variant of this can be seen here: https://github.com/rauc/rauc/blob/master/qemu-test#L79 if "$QEMU_BIN" -device help | grep -q 'name "emmc"'; then echo "found emmc support, enabling" truncate -s 64M qemu-test-emmc.img QEMU_ARGS="$QEMU_ARGS -drive if=none,id=emmc-drive,file=qemu-test-emmc.img,format=raw" QEMU_ARGS="$QEMU_ARGS -device sdhci-pci" QEMU_ARGS="$QEMU_ARGS -device emmc,id=emmc0,drive=emmc-drive,boot-partition-size=1048576" fi We enable this only if our patched version of qemu [1] is found. For ARM bootloader (OP-TEE and barebox) development and regression testing, we'd use this as well (with the RPMB emulation). Avoiding the need for a custom QEMU build would help a lot. :) Best regards, Jan [1] https://github.com/qemu/qemu/compare/master...jluebbe:qemu:user-emmc#diff-e90f7f7336bf488567604b94aa0a3f5d272e392bca2e1e5c33c65f094c18466d -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
