Martin Mares [Sat, 9 Oct 1999 13:25:57 +0000 (13:25 +0000)]
Reorganized the pci.ids file. Subsystems are listed under devices, classes
can optionally contain prog-if information. Adapted the library and lspci
to this new format. Added few ID's, as usually.
Martin Mares [Tue, 20 Jul 1999 12:13:38 +0000 (12:13 +0000)]
Rewrote the pread/pwrite things once again. Use pread and pwrite only when we
are certain it's safe (i.e., glibc 2.1 on all architectures or any libc on a
i386 where we really know how to use syscalls directly). In all other cases,
emulate it with lseek/read/write.
Martin Mares [Wed, 7 Jul 1999 11:23:03 +0000 (11:23 +0000)]
Various PCIutils changes accumulated over last two weeks:
o Use `long' instead of `long long' for PCI addresses on Alpha.
o Synchronized header declarations with PCI specs rev. 2.2.
o lspci: Dump all capabilities defined in PCI 2.2.
o lspci: Even htype1 has a capability list.
o lspci: Mask out bottommost 2 bits of capability pointers as required
by the specs.
o Added overall support for reporting of region sizes (needs support
in the kernel, but I've already sent a patch to Linus).
o pci_fill_info() returns a bitmask of what it suceeded to read (reading
of sizes can fail if the kernel doesn't support it).
o Some new IDs.
Martin Mares [Mon, 21 Jun 1999 20:17:13 +0000 (20:17 +0000)]
When device ID lookup fails, return hexadecimal device ID instead of vendor ID.
Well spotted by Axel Bodemann <Axel.Bodemann@ruhr-uni-bochum.de>, I've just
extended the fix to subsystem ID's.
Martin Mares [Sun, 28 Feb 1999 20:23:05 +0000 (20:23 +0000)]
o Don't assume unsigned long to be 64-bit on 64-bit platforms. Introduced
pciaddr_t which is an integer type capable of holding a PCI address.
Can anyone with an Ultra test it?
o lspci scan mode: Don't dump functions 1--7 when scanning a real
multi-function device. (Several devices don't decode function bits at all).
Martin Mares [Wed, 27 Jan 1999 14:52:53 +0000 (14:52 +0000)]
Added `bus mapping mode' (-M) which scans the whole configuration space
to find devices hiding behind misconfigured or misdesigned bus bridges.
This is intended only for debugging purposes and it's available only to root
as it can crash several well-known buggy chips.
Martin Mares [Sun, 24 Jan 1999 21:48:10 +0000 (21:48 +0000)]
Until kernel adopts new layout of PCI includes (i.e., separate declaration of
header structure, functions and device IDs), which is not going to happen
before 2.3, we'll use our own definiton of the configuration header.
Martin Mares [Sun, 24 Jan 1999 21:38:46 +0000 (21:38 +0000)]
lspci now understands PCI capability lists. Currently, the only capability I
know about is AGP, but the fact it's numbered 0x02 tries to tell that
something else might be hiding behind the properties :)
Martin Mares [Fri, 22 Jan 1999 21:04:45 +0000 (21:04 +0000)]
Rewrote the PCI Utilities. All PCI configuration space access has been
moved to a library which supports multiple access mechanisms: the current
/proc/bus/pci one, direct port access (needed for debugging of kernel
PCI code and as a nice side-effect this makes pciutils work with 2.0
kernels, although only for root) and reading of configuration dumps.
This has been released as version 1.99.2-alpha. For detailed description
of changes, see the ChangeLog.
Can anybody test it on non-PC architectures, please? (Especially if you
have any 64-bit card.)
Martin Mares [Tue, 9 Jun 1998 19:22:05 +0000 (19:22 +0000)]
Define SYS_(pread|pwrite) as __NR_\1 on glibc systems unless defined by glibc
itself.
This solution is _very_ugly_, but it's the only way I know which doesn't force
people to rebuild the glibc every few kernel releases. Grrr. I don't understand
why glibc uses its own include for syscall numbers and doesn't just include
<asm/unistd.h> instead.