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 |

Reply via email to