[PATCH] hw/sd/sdcard: Allow user creation of eMMCs

Jan Luebbe posted 1 patch 1 week ago
hw/sd/sd.c | 2 --
1 file changed, 2 deletions(-)
[PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Jan Luebbe 1 week ago
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 <jlu@pengutronix.de>
---
 hw/sd/sd.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index a5d2d929a8af..2d3467c3d956 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -2865,8 +2865,6 @@ static void emmc_class_init(ObjectClass *klass, 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;
 
-- 
2.39.5
Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Peter Maydell 4 days, 4 hours ago
On Tue, 15 Oct 2024 at 14:57, Jan Luebbe <jlu@pengutronix.de> wrote:
>
> 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 <jlu@pengutronix.de>

Applied to target-arm.next, thanks (unless anybody would
prefer it to go via some other route).

-- PMM
Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Philippe Mathieu-Daudé 3 days, 5 hours ago
On 18/10/24 12:42, Peter Maydell wrote:
> On Tue, 15 Oct 2024 at 14:57, Jan Luebbe <jlu@pengutronix.de> wrote:
>>
>> 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 <jlu@pengutronix.de>
> 
> Applied to target-arm.next, thanks (unless anybody would
> prefer it to go via some other route).

Thanks!
Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Philippe Mathieu-Daudé 1 week ago
On 15/10/24 10:56, Jan Luebbe wrote:
> 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 <jlu@pengutronix.de>
> ---
>   hw/sd/sd.c | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index a5d2d929a8af..2d3467c3d956 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -2865,8 +2865,6 @@ static void emmc_class_init(ObjectClass *klass, 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;
>   

Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Cédric Le Goater 1 week ago
On 10/15/24 17:00, Philippe Mathieu-Daudé wrote:
> On 15/10/24 10:56, Jan Luebbe wrote:
>> 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 <jlu@pengutronix.de>

Nice !

Would it be possible to add an avocado test ?

Thanks,

C.



Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Daniel P. Berrangé 1 week ago
On Tue, Oct 15, 2024 at 05:17:26PM +0200, Cédric Le Goater wrote:
> On 10/15/24 17:00, Philippe Mathieu-Daudé wrote:
> > On 15/10/24 10:56, Jan Luebbe wrote:
> > > 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 <jlu@pengutronix.de>
> 
> Nice !
> 
> Would it be possible to add an avocado test ?

NB, no new avocado tests please. Only use the recently introduced
'functional' tests framework for new tests.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs
Posted by Cédric Le Goater 1 week ago
On 10/15/24 17:20, Daniel P. Berrangé wrote:
> On Tue, Oct 15, 2024 at 05:17:26PM +0200, Cédric Le Goater wrote:
>> On 10/15/24 17:00, Philippe Mathieu-Daudé wrote:
>>> On 15/10/24 10:56, Jan Luebbe wrote:
>>>> 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 <jlu@pengutronix.de>
>>
>> Nice !
>>
>> Would it be possible to add an avocado test ?
> 
> NB, no new avocado tests please. Only use the recently introduced
> 'functional' tests framework for new tests.

True. That reminds me that the aspeed test file needs a conversion.

Thanks,

C.


> 
> 
> With regards,
> Daniel