| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
A new module for the Hurd that accesses PCI bus using available RPCs.
|
|
|
|
| |
This will be the real 3.6.3.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
"[virtual]" and "[enhanced]" are now printed after the base address
along with other flags.
|
|
|
|
|
|
|
|
|
|
| |
Originally, I wanted to fix a bug, which caused 64-bit addresses
with their lower 32 bits zero to be reported as virtual regions.
However, it turned out that the whole function is quite messy,
so I rewrote it.
Also, we now print "[virtual]" and "[enhanced]" after the base address
along other modifiers.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change output displayed for memory behind bridge when the range is
empty to be consistent between each verbosity level. Replace "None" and
"[empty]" with "[disabled]". Old and new output examples listed below
for each verbosity level.
Show_range() is not called unless verbose == true. No output given
unless a verbose argument is provided.
OLD output for -v and -vv which uses "None" and -vvv uses "[empty]":
Memory behind bridge: None # lspci -v
Memory behind bridge: None # lspci -vv
Memory behind bridge: 0000e000-0000efff [empty] # lspci -vvv
NEW output for -v, -vv, and -vvv to use "[disabled]":
Memory behind bridge: [disabled] # lspci -v
Memory behind bridge: [disabled] # lspci -vv
Memory behind bridge: 0000e000-0000efff [disabled] # lspci -vvv
Advantage is consistent output regardless of verbosity level chosen and
to simplify the code.
Signed-off-by: Kelsey Skunberg <skunberg.kelsey@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove 'if (!verbose)' code in show_range() due to not being called.
show_range() will only be called when verbose is true. Additional call
to check for verbosity within show_range() is dead code.
!verbose was used so nothing would print if the range behind a bridge
had a base > limit and verbose == false. Since show_range() will not be
called when verbose == false, not printing bridge information is
still accomplished.
Signed-off-by: Kelsey Skunberg <skunberg.kelsey@gmail.com>
|
|
|
|
|
|
| |
Include -vvv in help message.
Signed-off-by: Kelsey Skunberg <skunberg.kelsey@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Registers in the PCI Express Capability come in sets of three (Capability,
Control, Status), and we typically print them in that order. The Root
Complex-related registers were an exception: we printed them in the
(Control, Capability, Status) order.
Decode the RootCap, RootCtl, and RootSta registers in the usual order.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
| |
This includes clarified copyright statement.
|
| |
|
|
|
|
|
|
|
|
| |
This enables "lspci" to show PCIe 5.0 data rate (32 GT/s) properly
according to the contents in register PCI_EXP_LNKCAP, PCI_EXP_LNKSTA
and PCI_EXP_LNKCTL2.
Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Decode all defined fields in the Device Capabilities 2 register.
The difference from "lspci -vv" output now looks like this:
- DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd+
+ DevCap2: Completion Timeout: Range ABC, TimeoutDis+, NROPrPrP-, LTR+
+ 10BitTagComp-, 10BitTagReq-, OBFF Not Supported, ExtFmt-, EETLPPrefix-
+ EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
+ FRS-, LN System CLS Not Supported, TPHComp-, ExtTPHComp-, ARIFwd+
Signed-off-by: Frederick Lawler <fred@fredlawl.com>
|
| |
|
|
|
|
|
| |
Fixes: fb17077dc378 ("Cleaned up the previous patch")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
|
| |
|
|
|
|
|
| |
Ordering of our cached list of capabilities now respects the original
order in the device's configuration space.
|
|
|
|
|
| |
According to discussion in GitHub PR #8, Root complex integrated
endpoints also support FLR.
|
| |
|
|
|
|
| |
Signed-off-by: Basavaraja M S <basavam@cadence.com>
|
| |
|
|
|
|
| |
New URLs suggested by GitHub PR #20.
|
|
|
|
|
|
| |
Add capability names for all the capabilities known to lspci.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
|
|
|
|
|
| |
Decode the Multicast Extended Capability described in PCIe r4.0, sec
7.9.11.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
| |
|
| |
|
|
|
|
| |
Found by Coverity scan.
|
|
|
|
|
|
|
|
|
|
| |
libpci uses PCIOCGETCONF for non-privileged access to /dev/pci
and calculates device_class value based on pc_class/pc_subclass
fields expecting the former to be higher 8 bits of the target value.
0f3d0ca73ecedaba180bf4607bb57fb8abe6d405 errorneously swapped
order of class/subclass during calculations.
Signed-off-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>
|
| |
|
|
|
|
|
| |
The cap_number is always set to the total number of capability instances
found, regardless of whether a match was found or not.
|
|
|
|
|
|
|
|
| |
Because a capability can exist multiple times with the same id,
there needs to be a way to target a specific one. Instead of
the current behaviour which always targets the first one.
Now you can optionally add `@number` (e.g `@1`) after the width to
choose which one to target.
|
| |
|
|
|
|
| |
Suggested by Milan Kral.
|
| |
|
|
|
|
|
|
| |
PCIe spec says root ports and root complex event collectors must implement
root CAP, STAT and CTRL registers, so call cap_express_root() not only for
PCI_EXP_TYPE_ROOT_PORT but also for PCI_EXP_TYPE_ROOT_EC.
|
| |
|
| |
|