History log of /pciutils/ls-tree.c (Results 1 – 21 of 21)
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
# 6662052f 22-Apr-2023 Pali Rohár <[email protected]>

ls-tree: Print PCI domains in ascending order


# 7eb87449 22-Apr-2023 Pali Rohár <[email protected]>

ls-tree: Fix parsing devices on multidomain PCI system

Represent each domain as domain bridge under the &host_bridge and put root
bus of each domain under the domain bridge.

With this change lspci

ls-tree: Fix parsing devices on multidomain PCI system

Represent each domain as domain bridge under the &host_bridge and put root
bus of each domain under the domain bridge.

With this change lspci in tree view does not show zero bus on domain 0 in
the output if this bus does not exist at all. Root bus in PCIe hierarchy
does not have to be zero and on Freescale PowerPC systems it is common.

Also with this change are separate domain showed in the output separately.

show more ...


# 5b0411aa 17-Apr-2023 Pali Rohár <[email protected]>

ls-tree: Rename struct bridge member next to prev

It refers to the previous value in linked-list, not to the next.


# c3c2e3cb 17-Apr-2023 Pali Rohár <[email protected]>

ls-tree: Do not read Primary Bus Number for PCI Bridges from PCI config space

For PCIe devices of PCI Bridge type is Primary Bus Number not used and the
default value is 0. PCIe devices capture thei

ls-tree: Do not read Primary Bus Number for PCI Bridges from PCI config space

For PCIe devices of PCI Bridge type is Primary Bus Number not used and the
default value is 0. PCIe devices capture their Bus and Device numbers
automatically from PCIe TLP packets.

Instead of Primary Bus Number use Device Number because zero value confuse
tree building algorithm. Existing code already expects that Device Number
of PCI Bridge is already set to Primary Bus Number.

show more ...


# f0aa3a46 11-Apr-2023 Pali Rohár <[email protected]>

lspci: Fix bridge filter support in tree view

Correctly show whole subtree of PCI-to-PCI bridge in tree view when filter
(-s or -d option) was specified for PCI-to-PCI bridge device itself.


Revision tags: v3.9.0
# 82dfc667 29-Oct-2022 Pali Rohár <[email protected]>

lspci: Fix filter support (-s/-d) for subtrees in tree mode (-t)


Revision tags: v3.8.0
# 7eb8b947 27-Feb-2022 Pali Rohár <[email protected]>

lspci: Fix handling of truncated lines for msvcrt.dll

msvcrt.dll's vsnprintf() implementation does not fill terminating null byte
when overflow occurs and buffer size is returned.


# 832b07a8 28-Dec-2021 Pali Rohár <[email protected]>

lspci: Do not access config space when it is emulated

Emulated config space contains only few information so it could look like
some valid config space. libpci compose emulated config space either f

lspci: Do not access config space when it is emulated

Emulated config space contains only few information so it could look like
some valid config space. libpci compose emulated config space either from
struct pci_dev or put some fake information (when struct pci_dev does not
have them).

To prevent showing to user fake/bogus information about PCI devices, show
only information which are directly stored in struct pci_dev when emulated
config space is used.

Do it via setting lspci's header type to invalid value (byte)-1, so lspci
code will handle device as unknown without trying to interpret values
config space. This header type is set only in lspci, not in libpci, so
other libpci applications would see valid config space.

lspci users are probably not interested in fake information provided by
libpci just for purpose to export syntactically valid config space.
Information stored in struct pci_dev are the correct one (or rather what OS
things that is correct).

show more ...


# fd9c6a29 31-Dec-2021 Pali Rohár <[email protected]>

lspci: Do not show -[00]- bus in tree output

Secondary or subordinate bus cannot be zero. Zero value could indicate
either invalid secondary bus value or the fact that secondary bus value was
not fi

lspci: Do not show -[00]- bus in tree output

Secondary or subordinate bus cannot be zero. Zero value could indicate
either invalid secondary bus value or the fact that secondary bus value was
not filled or indicates non-compliant PCI-to-PCI bridge. This change makes
tree output better readable when bus numbers are not known or not provided.

show more ...


# 67954c8b 28-Dec-2021 Pali Rohár <[email protected]>

lspci: Build tree based on PCI_FILL_PARENT information

Topology reported by system (libpci provider) may be different from
topology built based on primary/secondary/subordinate numbers from PCI
brid

lspci: Build tree based on PCI_FILL_PARENT information

Topology reported by system (libpci provider) may be different from
topology built based on primary/secondary/subordinate numbers from PCI
bridges by lspci.

This happens for example when some non-compliant PCI-to-PCI bridge
with Type 0 header (e.g. Marvell one) is available in the system.

So add additional edges reported by libpci when building tree in lspci.

show more ...


# d1b22bb0 28-Dec-2021 Martin Mares <[email protected]>

ls-tree: Fix handling of truncated lines


# b1cff3a4 26-Dec-2021 Pali Rohár <[email protected]>

lspci: Print buses of multibus PCI domain in ascending order

Currently PCI domains are printed in ascending order. Devices on each PCI
bus are also printed in ascending order. PCI buses behind PCI-t

lspci: Print buses of multibus PCI domain in ascending order

Currently PCI domains are printed in ascending order. Devices on each PCI
bus are also printed in ascending order. PCI buses behind PCI-to-PCI
bridges are also printed in ascending order.

But buses of PCI domain are currently printed in descending order because
function new_bus() puts newly created bus at the beginning of linked list.

In most cases PCI domain contains only one (top level) bus, so in most
cases it is not visible this inconsistency.

Multibus PCI domains (where PCI domain contains more independent top level
PCI buses) are available on ARM devices.

This change fixes print order of multibus PCI domains, so also top level
PCI buses are printed in ascending order, like PCI buses behind PCI-to-PCI
bridges.

show more ...


Revision tags: v3.7.0, v3.6.4, v3.6.3
# 76d47191 22-Jan-2020 Martin Mares <[email protected]>

Fixed buffer overflows in ls-tree.c

As reported in GitHub issue #24, tree dumping mode can smash the stack
if the hierarchy of buses is too deep.

Increased line buffer size to 1024 and switched to

Fixed buffer overflows in ls-tree.c

As reported in GitHub issue #24, tree dumping mode can smash the stack
if the hierarchy of buses is too deep.

Increased line buffer size to 1024 and switched to use of snprintf
everywhere, so that in the worst case, the line is truncated.

As snprintf can be problematic on obscure platforms, I wrapped it
in tree_printf(), so that we can add #ifdefs should problems arise.

show more ...


# 888ddf0e 18-Sep-2018 Gera Kazakov <[email protected]>

lspci: Allow -s with -t to show a subtree


Revision tags: v3.6.2
# ce22dfec 12-Aug-2018 Martin Mares <[email protected]>

Topology now works in combination with filters

If bus topology is needed, we scan all devices regardless of filters,
and apply the filters later when showing devices.

Also, we forbid several imposs

Topology now works in combination with filters

If bus topology is needed, we scan all devices regardless of filters,
and apply the filters later when showing devices.

Also, we forbid several impossible combinations of options: tree mode
with filters, bus mapping mode with anything requiring topology.

show more ...


# f558905d 12-Aug-2018 Martin Mares <[email protected]>

Tree: Detect bridges properly

Previously, only PCI_CLASS_BRIDGE_PCI was considered, which excluded
CardBus bridges. We now accept anything of the base class "bridge"
with the proper header type.

Al

Tree: Detect bridges properly

Previously, only PCI_CLASS_BRIDGE_PCI was considered, which excluded
CardBus bridges. We now accept anything of the base class "bridge"
with the proper header type.

Also added a bunch of debugging messages.

show more ...


# 6b056c8e 10-Aug-2018 Martin Mares <[email protected]>

Generalized topology computation in ls-tree.c

The topology tree is now independent of the plain device list
and it can be traversed in both top-to-bottom and bottom-to-top
directions.


Revision tags: 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
# ab61451d 17-Mar-2016 Keith Busch <[email protected]>

pciutils: Add support for 32-bit PCI domains

This adds support for new host bridges that may create PCI domain number
values requiring more than 16 bits. The new domain 32-bit integer is
signed to a

pciutils: Add support for 32-bit PCI domains

This adds support for new host bridges that may create PCI domain number
values requiring more than 16 bits. The new domain 32-bit integer is
signed to allow -1 for "any", and is sufficient as the domain number
will never require the full 32-bits.

The domain field is appended at the end of struct pci_dev, and the
current location of the 16-bit domain remains for compatibility. The
domain number is truncated and copied into the legacy domain location
so existing applications linking to the library will continue to work
without modification. We accept that these applications may not work
correctly on machines with host bridges exporting 32-bit domains.

In order to force new programs to link to the new ABI, the pci_init
function call is versioned in this commit.

Signed-off-by: Keith Busch <[email protected]>

show more ...


Revision tags: 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
# 886263b3 04-Jul-2009 Matthew Wilcox <[email protected]>

lspci -t: Only show the domain at the root of the tree

Children always have the same domain as their parents, so it's redundant
information, and it makes the tree display too wide.


Revision tags: v3.1.2, v3.1.1, v3.1.0, v3.1-alpha3, v3.1-alpha2
# c7a34993 21-Nov-2008 Martin Mares <[email protected]>

Split lspci to multiple source files.