qemu-devel
[Top][All Lists]
Advanced

[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: David Aghaian
Subject: Re: [Qemu-arm] Assigning sd-card to specific SD-bus with Sabrelite Machine
Date: Thu, 17 Sep 2020 20:24:03 +0000

EDIT: Resending as reply-all

Hey Peter,


Appreciate the prompt response. Is there a particular reason why you were 
proposing that the modification be made to the fsl-imx* files as opposed to the 
"sabrelite.c" file? I was looking very briefly at the files you mentioned and I 
believe the line that would have to be added (basing it off the reference 
source you provided) would be:


Inside: fsl-imx25.c

/* Alias controller SD bus to the SoC itself */
bus_name = g_strdup_printf("sd-bus%d", i);
object_property_add_alias(OBJECT(&s->esdhc[i]), bus_name, sdhci, "sd-bus");
g_free(bus_name);

to be added just under line 251 (during initialization of the SDHC devices). I 
do not see the same initialization of SDHC devices for those one of the fsl 
files you mentioned (fsl-imx31).

Best,
David

On 9/17/20, 12:54 PM, "Peter Maydell" <peter.maydell@linaro.org> wrote:

    EXTERNAL EMAIL: This email originated from a sender outside of the 
organization. Use caution when responding to requests, clicking links, or 
opening attachments.

    ----------------------------------------------------------------------
    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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]