qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sysbus usb xhci


From: Philippe Mathieu-Daudé
Subject: Re: sysbus usb xhci
Date: Wed, 8 Jan 2020 16:51:06 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 1/8/20 4:32 PM, Sai Pavan Boddu wrote:
Hi Gred/Philippe,

In the process of making hcd-xhci.c free of pci wrapper, I came across a dma command 
" ldq_le_pci_dma" for which I don’t see any low level alternative to replace.
Even I cannot find the source of it, do you have any thoughts on this ?

Isn't it ldq_le_phys()?

I think you want to extract the address space first in a common method. See in sdhci_pci_realize():

    s->dma_as = pci_get_address_space(dev);

And in sdhci_sysbus_realize():

    if (s->dma_mr) {
        s->dma_as = &s->sysbus_dma_as;
        address_space_init(s->dma_as, s->dma_mr, "sdhci-dma");
    } else {
        /* use system_memory() if property "dma" not set */
        s->dma_as = &address_space_memory;
    }

-----Original Message-----
From: Sai Pavan Boddu
Sent: Friday, January 3, 2020 10:44 AM
To: Philippe Mathieu-Daudé <address@hidden>; address@hidden
Cc: address@hidden; address@hidden
Subject: RE: sysbus usb xhci

Thanks Philippe & Gred. I would start with the below pointers.

Regards,
Sai Pavan

-----Original Message-----
From: Philippe Mathieu-Daudé <address@hidden>
Sent: Thursday, January 2, 2020 4:56 PM
To: address@hidden; Sai Pavan Boddu <address@hidden>
Cc: address@hidden; address@hidden
Subject: Re: sysbus usb xhci

On 1/2/20 10:45 AM, address@hidden wrote:
On Thu, Jan 02, 2020 at 07:13:25AM +0000, Sai Pavan Boddu wrote:
Hi Gred,

We are seeing of options to reuse the hcd-xhci model and use it
over system bus interface rather than pci. (for Xilinx ZynqMP SOC,
usb
emulation) Are there any plans of implementing a sysbus device ? if
none it would be good if provided few pointers to start.

There have been some discussions about this for a (IIRC) sbsa
machine, but I'm not sure whenever that where just ideas or some code
exists.

Im looking at hcd-ehci/ochi as a reference, let me know if there
are any
know limitations for this usecase.

Yep, the path for xhci would be quite simliar:  Create a new
XHCIPciState struct, move over all pci-specific bits from XHCIState,
leaving the generic stuff in XHCIState for sharing with sysbus.
Possibly move all pci-specific code bits into a new source file (for
cleanup, will also allow to build qemu with CONFIG_PCI=n and still
have XHCI enabled).

Once this separation is done you should be able to create a sysbus
device, reusing the generic xhci code and adding sysbus plumbing
(mmio, irq, ...)

The SDHCI commits b635d98cf32..8b7455c75e seem similar to what you
want to achieve (see also commit ce8646034).





reply via email to

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