Hi,
I seem to vaguely remember that a while ago (2.3 days?) there was
discussion about removing /proc/pci in favour of the lspci output,
however there doesn't seem much in google groups about it (and marc
seems useless with non-alphanumeric searches.)
Can anyone remember the consensus? I seem to remember it wasn't
removed for 2.4 because certain distros rely on /proc/pci rather
than using pciutils.
I'm asking this question for purely self-centered reasons; I'd
personally rather get bug reports with the output of lspci -vv
and lspci -vvb rather than /proc/pci. On machines where bus
addresses != kernel cookies, lspci is more than invaluable.
(Ok, so we could "fix" the bug reporters to stop whinging about
having to "port" lspci to their hardware, but that is a larger,
harder problem to solve.)
--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
Russell King wrote:
> Hi,
>
> I seem to vaguely remember that a while ago (2.3 days?) there was
> discussion about removing /proc/pci in favour of the lspci output,
> however there doesn't seem much in google groups about it (and marc
> seems useless with non-alphanumeric searches.)
scanpci from XFree is using it as well. However i would
rather still like it to be gone despite this inconvenience.
Marcin Dalecki <[email protected]> writes:
> > I seem to vaguely remember that a while ago (2.3 days?) there was
> > discussion about removing /proc/pci in favour of the lspci output,
> > however there doesn't seem much in google groups about it (and
> > marc seems useless with non-alphanumeric searches.)
>
> scanpci from XFree is using it as well. However i would rather still
> like it to be gone despite this inconvenience.
neither gatos scanpci nor XFree86' scanpci do:
tv@vador ~ $ urpmf bin/scanpci
XFree86:/usr/X11R6/bin/scanpci
gatos:/usr/bin/scanpci
tv@vador ~ $ sudo strace /usr/X11R6/bin/scanpci 2>&1|fgrep open|uniq
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3
open("/proc/bus/pci/devices", O_RDONLY) = 3
gatos scanpci directly access pci config space.
also lspci, libldetect (used by mandrake drakx, harddrake2,
lspcidrake tools), kudzu uses /proc/bus/pci/* rather thatn
/proc/pci as you can easily check with strace :
tv@vador ~ $ sudo strace lspcidrake 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3
open("/proc/bus/pci/devices", O_RDONLY) = 3
open("/usr/share/ldetect-lst/pcitable", O_RDONLY) = 3
open("/proc/bus/usb/devices", O_RDONLY) = -1 ENOENT (No such file or
directory)
tv@vador ~ $ sudo strace lspcidrake -f 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3
open("/proc/bus/pci/devices", O_RDONLY) = 3
open("/proc/bus/pci/00/00.0", O_RDONLY) = 4
open("/proc/bus/pci/00/01.0", O_RDONLY) = 4
open("/proc/bus/pci/00/1e.0", O_RDONLY) = 4
open("/proc/bus/pci/00/1f.0", O_RDONLY) = 4
open("/proc/bus/pci/00/1f.1", O_RDONLY) = 4
open("/proc/bus/pci/00/1f.2", O_RDONLY) = 4
open("/proc/bus/pci/00/1f.3", O_RDONLY) = 4
open("/proc/bus/pci/00/1f.5", O_RDONLY) = 4
open("/proc/bus/pci/01/0c.0", O_RDONLY) = 4
open("/usr/share/ldetect-lst/pcitable", O_RDONLY) = 3
open("/proc/bus/usb/devices", O_RDONLY) = -1 ENOENT (No such file or directory)
tv@vador ~ $ sudo strace lspci 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3
open("/proc/bus/pci/devices", O_RDONLY) = 3
open("/proc/bus/pci/01/0c.0", O_RDONLY) = 3
open("/proc/bus/pci/00/1f.5", O_RDONLY) = 3
open("/proc/bus/pci/00/1f.3", O_RDONLY) = 3
open("/proc/bus/pci/00/1f.2", O_RDONLY) = 3
open("/proc/bus/pci/00/1f.1", O_RDONLY) = 3
open("/proc/bus/pci/00/1f.0", O_RDONLY) = 3
open("/proc/bus/pci/00/1e.0", O_RDONLY) = 3
open("/proc/bus/pci/00/01.0", O_RDONLY) = 3
open("/proc/bus/pci/00/00.0", O_RDONLY) = 3
open("/usr/share/pci.ids", O_RDONLY) = 4
(i wont put every output but i've straced and checked kudzu source
in the past, have read harddrake1 source, 'm writting harrddrake2
and so i do know for those)
Thierry Vignaud wrote:
> Marcin Dalecki <[email protected]> writes:
>
>
>>>I seem to vaguely remember that a while ago (2.3 days?) there was
>>>discussion about removing /proc/pci in favour of the lspci output,
>>>however there doesn't seem much in google groups about it (and
>>>marc seems useless with non-alphanumeric searches.)
>>
>>scanpci from XFree is using it as well. However i would rather still
>>like it to be gone despite this inconvenience.
>
>
> neither gatos scanpci nor XFree86' scanpci do:
Confirmed. Apparently I forgot about the /bus/ in the path above.
On Mon, Jul 29, 2002 at 01:17:17PM +0100, Russell King wrote:
> I seem to vaguely remember that a while ago (2.3 days?) there was
> discussion about removing /proc/pci in favour of the lspci output,
> however there doesn't seem much in google groups about it (and marc
> seems useless with non-alphanumeric searches.)
>
> Can anyone remember the consensus?
ISTR Linus was quite attached to it, so it got un-obsoleted.
Dave
--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs
Hello, world!\n
> ISTR Linus was quite attached to it, so it got un-obsoleted.
Exactly. I've marked it as obsolete years ago, but when I wanted
to rip it out, Linus said he likes /proc/pci and it has to stay.
I still think that it's an extremely ugly interface, especially
because it requires the kernel to contain the list of vendor and device
names.
Have a nice fortnight
--
Martin `MJ' Mares <[email protected]> http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
Who is General Failure and why is he reading my disk?
On Mon, 29 Jul 2002, Martin Mares wrote:
> Hello, world!\n
>
> > ISTR Linus was quite attached to it, so it got un-obsoleted.
>
> Exactly. I've marked it as obsolete years ago, but when I wanted
> to rip it out, Linus said he likes /proc/pci and it has to stay.
>
> I still think that it's an extremely ugly interface, especially
> because it requires the kernel to contain the list of vendor and device
> names.
If for no other reason than allowing easy updates, this would be a good
place for a module. Of course you can say that about the blacklisted
chipsets, etc, as well.
I guess if it's a favorite feature it stays. I do use it, but there are
other tools as mentioned.
--
bill davidsen <[email protected]>
CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.