lkml.org 
[lkml]   [2012]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: UIO: missing resource mapping
On Fri, Jul 13, 2012 at 02:16:32AM +0300, Michael S. Tsirkin wrote:
> On Thu, Jul 12, 2012 at 09:44:33PM +0200, Hans J. Koch wrote:
> > > Looking further at the code, I cannot see where the mem fields are
> > > being filled at all.
> > > Which code is supposed to write the struct uio_mem?
> >
> > In my opinion, the driver should. However, Michael's idea is to use
> > /sys/bus/pci/devices/XXXXXresourceX for mapping purposes.
> >
> > That is of course also possible, but obviously it leads to confusion.
> > We already had a long thread about this:
> >
> > http://www.spinics.net/lists/kvm/msg73837.html
> >
> > Michael, can we change the driver to offer all available PCI BARs in the
> > normal UIO way? I'm afraid otherwise we'll have the same discussion over
> > and over again.
> >
> > Thanks,
> > Hans
>
> My concern was people will ask for more and more stuff that pci
> sysfs already has.
> If we do add these is there a way to not duplicate code from pci?
> Export pci_mmap_resource and use it? Or make the uio attributes
> softlinks to pci sysfs somehow?

I understand your concern. Of course I'm also not in favor of duplicating
code, but I don't think there's much overhead. PCI already exports all
information needed by pci_resource_start(dev, bar) and
pci_resource_len(dev, bar). Have a look at other UIO PCI drivers like
uio_cif.c or uio_netx.c to see how it works. It's just a few more lines
of code to loop through all BARs and add the to info->mem[i].

By the way, the current size of the info->mem[] array was exactly made
with PCI in mind...

Thanks,
Hans



\
 
 \ /
  Last update: 2012-07-13 02:21    [W:0.580 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site