From: Jan Luebbe Date: Tue, 15 Oct 2024 13:56:49 +0000 (+0200) Subject: hw/sd/sdcard: Allow user creation of eMMCs X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4a885312bec08f30e98d0141e0258ae048b9014d;p=thirdparty%2Fqemu.git hw/sd/sdcard: Allow user creation of eMMCs For testing eMMC-specific functionality (such as handling boot partitions), it would be very useful to attach them to generic VMs such as x86_64 via the sdhci-pci device: ... -drive if=none,id=emmc-drive,file=emmc.img,format=raw \ -device sdhci-pci \ -device emmc,id=emmc0,drive=emmc-drive,boot-partition-size=1048576 \ ... While most eMMCs are soldered to boards, they can also be connected to SD controllers with just a passive adapter, such as: https://docs.radxa.com/en/accessories/emmc-to-usd https://github.com/voltlog/emmc-wfbga153-microsd The only change necessary to make the options above work is to avoid disabling user_creatable, so do that. The SDHCI-PCI driver in the Linux kernel already supports this just fine. Signed-off-by: Jan Luebbe Acked-by: Philippe Mathieu-Daudé Message-ID: <20241015135649.4189256-1-jlu@pengutronix.de> Enable user-instantiation so that eMMCs can be created for PCI-attached SD/MMC host controllers (such as sdhci-pci) on virt machines, for QA purposes for the eMMC model itself and for complex firmware/OS integrations using the upcoming RPMB partition support. Signed-off-by: Jan Kiszka Message-ID: Tested-by: Cédric Le Goater Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 76e915e190..e43e1a10eb 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -2930,8 +2930,6 @@ static void emmc_class_init(ObjectClass *klass, const void *data) dc->desc = "eMMC"; dc->realize = emmc_realize; device_class_set_props(dc, emmc_properties); - /* Reason: Soldered on board */ - dc->user_creatable = false; sc->proto = &sd_proto_emmc;