History log of /pciutils/lib/generic.c (Results 1 – 23 of 23)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v3.14.0, v3.13.0, v3.12.0, v3.11.1, v3.11.0
# 61829219 18-Jun-2023 Martin Mares <[email protected]>

Update license comments and added SPDX license identifiers

Previously, the only information about the specific version of GPL
was present in the README and individual source files mentioned only
GPL

Update license comments and added SPDX license identifiers

Previously, the only information about the specific version of GPL
was present in the README and individual source files mentioned only
GPL alone.

Let us update all copyright comments to explicitly say "GPL v2+"
and also include the machine readable SPDX license identifier.

show more ...


Revision tags: v3.10.0, v3.9.0, v3.8.0
# 8d750a8d 02-Jan-2022 Pali Rohár <[email protected]>

libpci: Add new internal function pci_generic_scan_domain()

Function pci_generic_scan() scans PCI domain 0. This new function
pci_generic_scan_domain() scans specified PCI domain number.


# 4fd10eb9 20-Dec-2021 Pali Rohár <[email protected]>

libpci: generic: Implement SUBSYS also for PCI_HEADER_TYPE_BRIDGE

Subsystem ids for PCI Bridges are stored in extended capability
PCI_CAP_ID_SSVID.


# 2dc7b53b 27-Dec-2021 Pali Rohár <[email protected]>

libpci: generic: Implement CLASS_EXT and SUBSYS support

PCI_FILL_SUBSYS is implemented only for PCI_HEADER_TYPE_NORMAL and
PCI_HEADER_TYPE_CARDBUS like in lspci.


# 8e9299e4 21-Jan-2022 Martin Mares <[email protected]>

Simplified pci_fill_info() and friends

Previously, we kept track of which fields were already filled, which
was quite brittle.

Now we keep only the set of already known fields in struct pci_dev.
We

Simplified pci_fill_info() and friends

Previously, we kept track of which fields were already filled, which
was quite brittle.

Now we keep only the set of already known fields in struct pci_dev.
We check if the current field is needed against this information.

Not only this simplifies the whole thing, but it also enables future
back-ends to call pci_fill_info() recursively as needed.

show more ...


Revision tags: v3.7.0
# 82c06b47 25-May-2020 Martin Mares <[email protected]>

Library: Big cleanup of pci_fill_info()

There was a lot of minor issues in the implementation of the fill_info
call-back in various back-ends. Most importantly, semantics of pci_dev->
known_fields w

Library: Big cleanup of pci_fill_info()

There was a lot of minor issues in the implementation of the fill_info
call-back in various back-ends. Most importantly, semantics of pci_dev->
known_fields was not formally defined and it was implemented inconsistently.

We now define known_fields as the set of fields which were already
obtained during the lifetime of the pci_dev. We never consider known
fields which are not supported by the back-end. All fields which are
unsupported by either the back-end, the OS, or the particular device,
are guaranteed to have sensible default values (0 or NULL). Also, bit
masks are always unsigned except for the signature of pci_fill_info()
which should be preferably kept stable.

All back-ends and the pci_generic_fill_info() function have been changed
to follow this semantics.

In the sysfs back-end, we read as few attributes as possible during
device initialization, so applications which use pci_get_dev() are not
slowed down unnecessarily.

In the Hurd back-end, we also respect the buscentric mode.

show more ...


Revision tags: v3.6.4, v3.6.3, v3.6.2, v3.6.1, v3.6.0, v3.5.6, v3.5.5, v3.5.4, v3.5.3, v3.5.2, v3.5.1, v3.5.0, v3.4.1, v3.4.0, v3.3.1, v3.3.0, v3.2.1, v3.2.0, v3.1.10, v3.1.9, v3.1.8, v3.1.7, v3.1.6, v3.1.5, v3.1.4, v3.1.3, v3.1.2, v3.1.1, v3.1.0, v3.1-alpha3, v3.1-alpha2, v3.1-alpha1
# 6d5e39ac 10-Nov-2008 Martin Mares <[email protected]>

Added library functions for accessing PCI capabilities.


# de7ef8bc 10-Nov-2008 Martin Mares <[email protected]>

Coding style cleanup: `for(...)' wants a space.


Revision tags: v3.0.3, v3.0.2, v3.0.1, v3.0.0
# 1ac3a99d 06-Feb-2007 Martin Mares <[email protected]>

Get rid of bzero().


# c2b144ef 27-Jun-2006 Martin Mares <[email protected]>

Add and use PCI_FILL_CLASS.


# 489233b4 13-Aug-2004 Martin Mares <[email protected]>

Include file splits and namespace cleanups.

git-archimport-id: [email protected]/pciutils--main--2.2--patch-60


# 6aa54f1b 13-Aug-2004 Martin Mares <[email protected]>

Fixed bugs in reading and interpreting of base addresses.

git-archimport-id: [email protected]/pciutils--main--2.2--patch-58


# 84c8d1bb 27-Dec-2003 Martin Mares <[email protected]>

Preliminary support for PCI domains

git-archimport-id: [email protected]/pciutils--main--2.2--patch-34


# 05bb10a2 26-Dec-2003 Martin Mares <[email protected]>

Removed memory leak in pci_generic_bus_scan().

lib/generic.c: Removed memory leak in pci_generic_bus_scan().
Reported by Gary Parnes <[email protected]>.
git-archimport-id: [email protected]/pc

Removed memory leak in pci_generic_bus_scan().

lib/generic.c: Removed memory leak in pci_generic_bus_scan().
Reported by Gary Parnes <[email protected]>.
git-archimport-id: [email protected]/pciutils--main--2.2--patch-5

show more ...


# a85769a8 26-Dec-2003 Martin Mares <[email protected]>

Removed $Id$

Removed CVS $Id$ tags from all files.
git-archimport-id: [email protected]/pciutils--main--2.2--patch-3


# eb620239 27-Dec-2002 Martin Mares <[email protected]>

(pci_generic_scan_bus): Added work-around for devices with
discontiguous numbering of functions. This is already present in the Linux
kernel for several years, but I forgot to update pciutils as well.


# a27a33dd 30-Mar-2002 Martin Mares <[email protected]>

Changed all my email addresses to [email protected].


# 14d6c0a3 21-Apr-2000 Martin Mares <[email protected]>

Merged in AIX port.


# e95c8373 07-Jul-1999 Martin Mares <[email protected]>

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

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.

show more ...


# f3395cc5 28-Feb-1999 Martin Mares <[email protected]>

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

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).

o Few pci.ids additions.

show more ...


# 1812a795 27-Jan-1999 Martin Mares <[email protected]>

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 a

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.

show more ...


# 3aa2523f 25-Jan-1999 Geert Uytterhoeven <[email protected]>

Add missing final argument to a->debug() call.

BTW, how do you add a __attribute__ ((format (printf, 1, 2))) to a function
pointer? Bugs like these would show up much sooner...


# 727ce158 22-Jan-1999 Martin Mares <[email protected]>

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 debu

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.)

show more ...