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é <phi...@redhat.com>; kra...@redhat.com
Cc: peter.mayd...@linaro.org; qemu-devel@nongnu.org
Subject: RE: sysbus usb xhci
Thanks Philippe & Gred. I would start with the below pointers.
Regards,
Sai Pavan
-----Original Message-----
From: Philippe Mathieu-Daudé <phi...@redhat.com>
Sent: Thursday, January 2, 2020 4:56 PM
To: kra...@redhat.com; Sai Pavan Boddu <saip...@xilinx.com>
Cc: peter.mayd...@linaro.org; qemu-devel@nongnu.org
Subject: Re: sysbus usb xhci
On 1/2/20 10:45 AM, kra...@redhat.com 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).