[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] Assigning sd-card to specific SD-bus with Sabrelite Machi
From: |
Peter Maydell |
Subject: |
Re: [Qemu-arm] Assigning sd-card to specific SD-bus with Sabrelite Machine |
Date: |
Thu, 17 Sep 2020 20:53:55 +0100 |
On Thu, 17 Sep 2020 at 19:21, David Aghaian
<David.Aghaian@panasonic.aero> wrote:
> Having a real difficult time determining whether or not I can use qemu (arm)
> with the Sabrelite machine type to be able to assign an sd-card to one of the
> 4 available sd-bus slots. Currently, no matter what combination of arguments
> I provide, it will always fall on the first bus (see screenshot).
> Is there any way with QEMU to attach the card specifically to the last sd-bus
> slot? It should be noted I was able to achieve the expected behavior after
> patching QEMU itself with the following change but I’d prefer to not have to
> modify the tool itself.
This ought to work, but I think there is a bug in the QEMU model
of this board which means it does not.
> diff qemu-5.1.0.orig/hw/sd/sdhci.c qemu-5.1.0/hw/sd/sdhci.c
> 1311a1312,1314
> > static int index=0;
> > char name[64];
> > sprintf(name, "sd-bus.%d", index++);
> 1313c1316
> < TYPE_SDHCI_BUS, DEVICE(s), "sd-bus");
> ---
> > TYPE_SDHCI_BUS, DEVICE(s), name);
Thanks for the suggested patch -- this was a big clue about
what the problem was.
sdhci.c isn't really the best place for this to be done -- this is
the model of the device itself, and the name of the bus as part
of the device should be 'sd-bus'. The right place to fix the
bug, I think, is in the hw/arm/fsl-imx*.c files, which are the
implementation of the SoC object. There we should be creating
aliases on the SoC for the various SD buses (there's an example
of this in hw/arm/xlnx-zynqmp.c), and the aliases can all have
different names so they're usable from the command line.
thanks
-- PMM