tech-userlevel archive

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

Re: [PATCH] pcictl: simplify its usage



On Thu, Jun 11, 2009 at 11:16:53AM +0200, Christoph Egger wrote:
> Manuel Bouyer wrote:
> > On Thu, Jun 04, 2009 at 11:05:21PM +0200, Christoph Egger wrote:
> >> Manuel Bouyer wrote:
> >>> On Thu, Jun 04, 2009 at 10:28:18PM +0200, Christoph Egger wrote:
> >>>>> But what we have right now does work !
> >>>>> You just need to use the autoconf index instead of the bus number.
> >>>>>
> >>>>> Also, minor(dev) is not the PCI bus domain but the autoconf index.
> >>>> Can I assume, that the 'i' iterator matches the autoconf index?
> >>>> If yes, then I can compare 'i' with minor(dev).
> >>> Yes, and device_lookup() and device_lookup_private() does it for you.
> >>> But with this we're back to the old code. You have to use different
> >>> /dev/pciN for the different busses. I don't see this as a problem;
> >>> I think all what you need is the list of PCI busses (list of autoconf 
> >>> indexes)
> >>> which you could get by a specific ioctl (either a "get the list" ioctl,
> >>> or a "get the next bus" ioctl).
> >> At work, there's a 4-way Opteron machine having two primary PCI roots.
> >> You find the second one via ACPI. The pciN starts with 128 on that
> >> machine. Should we have 255 /dev/pciN device files then?
> > 
> > You mean that you have more than 128 PCI busses on this machine ?
> > Or just that you have
> > pci1 at xxx bus 128 ?
> > In this case, you'll access it with /dev/pci1 and not /dev/pci128
> > It if's really pci128 at xxx bus 128 then there's something I don't
> > understand in autoconf, and I'd like to see the dmesg for this machine !
> > 
> 
> I still haven't access to that machine yet. So I still have to owe you
> the answer.
> 
> In this discussion, it has been proposed more than once to extend the
> pciio ioctl. Also the real root issue has been identified: We don't
> support PCI domains.
> 
> In attached diff I propose three new ioctl which deprecate
> PCI_IOC_BDF_CFGREAD, PCI_IOC_BDF_CFGWRITE and PCI_IOC_BUSINFO.
> 
> I also would like to introduce a new argument which specifies
> the PCI domain. But I am unsure how to name it since -d is already
> in use for 'device'. If we can use -p for 'pcidomain' then we
> go do:
> 
> pcictl list -p 0
> 
> to enlist all busses and devices from pci domain 0.

How is it different from
pcictl pci0 list ?
(yes, it's per-bus and not per-domain but I've yet to see a clear
definition of what a PCI domain is - one PCI domain per bus maybe ?).

Also I'm almost sure you're trying to solve a problem which
doesn't exists.

-- 
Manuel Bouyer, LIP6, Universite Paris VI.           
Manuel.Bouyer%lip6.fr@localhost
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index