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 ?
Regards, Sai Pavan > -----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).