Hi Gred/Philippe, @Philippe Mathieu-Daudé, thanks I found the alternative "ldq_le_dma".
Moving forward, for testing the new model. I ran through qtest:usb-hcd-xhci-test.c, are there any other test which I need to consider as first level validation ? Regards, Sai Pavan > -----Original Message----- > From: Philippe Mathieu-Daudé <phi...@redhat.com> > Sent: Wednesday, January 8, 2020 9:21 PM > To: Sai Pavan Boddu <saip...@xilinx.com>; kra...@redhat.com > Cc: peter.mayd...@linaro.org; qemu-devel@nongnu.org > Subject: Re: sysbus usb xhci > > 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). > >