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

Re: [Xen-devel] How to register a 64 bit BAR



On Wed, Sep 24, 2014 at 01:35:02PM +0000, Zytaruk, Kelly wrote:
> Thanks Pasi, I will check it out.
>

No problems. It seems those patches were never applied to Xen 
qemu-dm-traditional..


-- Pasi
 
> Kelly
> 
> > -----Original Message-----
> > From: Pasi Kärkkäinen [mailto:pasik@xxxxxx]
> > Sent: Wednesday, September 24, 2014 9:06 AM
> > To: Zytaruk, Kelly
> > Cc: Anthony PERARD; xen-devel@xxxxxxxxxxxxx
> > Subject: Re: [Xen-devel] How to register a 64 bit BAR
> > 
> > On Wed, Sep 24, 2014 at 03:57:58PM +0300, Pasi Kärkkäinen wrote:
> > > On Wed, Sep 24, 2014 at 12:47:01PM +0000, Zytaruk, Kelly wrote:
> > > > Thanks Anthony, you have saved me hours of searching through the source
> > code.
> > > >
> > > > I am working with Xen 4.2 qemu-traditional.  I checked the source
> > > > code for upstream xen (qemu-xen-dir) and I didn't even find any
> > > > support for the pci_register_io_region() function.  Apparently BAR
> > > > remapping callbacks aren't supported in this version.  This is most
> > > > unfortunate :-(
> > > >
> > >
> > > Hmm.. I wonder if this old patch would be of any help?
> > >
> > > http://lists.xen.org/archives/html/xen-devel/2012-08/msg01168.html
> > >
> > 
> > And the two other patches from the "xen/tools: Add 64 bits big bar support"
> > thread (3 patches total).
> > 
> > 
> > -- Pasi
> > 
> > >
> > > > Thanks for the help,
> > > > Kelly
> > > >
> > > > > -----Original Message-----
> > > > > From: Anthony PERARD [mailto:anthony.perard@xxxxxxxxxx]
> > > > > Sent: Wednesday, September 24, 2014 5:53 AM
> > > > > To: Zytaruk, Kelly
> > > > > Cc: xen-devel@xxxxxxxxxxxxx
> > > > > Subject: Re: [Xen-devel] How to register a 64 bit BAR
> > > > >
> > > > > On Tue, Sep 23, 2014 at 08:33:08PM +0000, Zytaruk, Kelly wrote:
> > > > > > I have used pci_register_io_region() to register 32 bit BARs but
> > > > > > how do I
> > > > > register a 64 bit BAR?
> > > > > >
> > > > > > Let's say my region uses BAR 2 and BAR 3 for a 64 bit address.
> > > > > > Do I register them separately as in
> > > > > >
> > > > > > pci_register_io_region (dev, 2, region_size,
> > > > > > PCI_ADDRESS_SPACE_MEM, &my_func); pci_register_io_region (dev,
> > > > > > 3, region_size, ???, &my_func);
> > > > >
> > > > > No, that would register two different BARs.
> > > > >
> > > > > > What would I specify as a region type for BAR 3?
> > > > >
> > > > > Nothing, since you don't want two different BARs.
> > > > >
> > > > > > Or is QEMU smart enough for me to register just BAR 2 and it
> > > > > > will know
> > > > > somehow that it is a 64 bit BAR?
> > > > >
> > > > > Nop.
> > > > >
> > > > > > I also want to call cpu_register_physical_memory() from within
> > > > > > the callback
> > > > > but the callback only takes a uint32_t as a physical address.
> > > > > > I am having difficulty finding an example that uses a 64 bit BAR 
> > > > > > address.
> > > > >
> > > > > Look for where PCI_ADDRESS_SPACE_MEM is define, and you will find
> > > > > how to register a 64bit BAR.
> > > > > Unless your are speaking about qemu-traditional and I'm not sure
> > > > > that is possible.
> > > > >
> > > > > After looking in the source code of qemu-traditional, it does not
> > > > > appear to support 64bit BAR. Only QEMU upstream handle them (also
> > called qemu-xen).
> > > > >
> > > > > --
> > > > > Anthony PERARD
> > > >
> > > > _______________________________________________
> > > > Xen-devel mailing list
> > > > Xen-devel@xxxxxxxxxxxxx
> > > > http://lists.xen.org/xen-devel
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@xxxxxxxxxxxxx
> > > http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.