Initialize for pciutils
This commit is contained in:
commit
40c64adcf0
17 changed files with 1867 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
pciutils-3.5.6.tar.sign
|
||||||
|
pciutils-3.5.6.tar.xz
|
2
.pciutils.metadata
Normal file
2
.pciutils.metadata
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
24e4114efa4df3bb36ef54f4865ac5cfc4a3189533d2d24c7837568a2891ed59 pciutils-3.5.6.tar.sign
|
||||||
|
f2705b2623b5614906a250067ab69339fdcd9d8183a910a3cbf0b11299b53a79 pciutils-3.5.6.tar.xz
|
7
baselibs.conf
Normal file
7
baselibs.conf
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
libpci3
|
||||||
|
obsoletes "pciutils-<targettype> < <version>"
|
||||||
|
provides "pciutils-<targettype> = <version>"
|
||||||
|
pciutils-devel
|
||||||
|
requires -pciutils-<targettype>
|
||||||
|
requires "libpci3-<targettype> = <version>"
|
||||||
|
|
167
lspci-Fixed-buffer-overflows-in-ls-tree.c.patch
Normal file
167
lspci-Fixed-buffer-overflows-in-ls-tree.c.patch
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
From 76d47191f9274991059a41e19e1999a12c0d3416 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Mares <mj@ucw.cz>
|
||||||
|
Date: Wed, 22 Jan 2020 09:49:18 +0100
|
||||||
|
Subject: [PATCH] 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.
|
||||||
|
---
|
||||||
|
lib/sysdep.h | 2 ++
|
||||||
|
ls-tree.c | 65 +++++++++++++++++++++++++++++++++++-----------------
|
||||||
|
2 files changed, 47 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/sysdep.h b/lib/sysdep.h
|
||||||
|
index e525dc4..1a5cb16 100644
|
||||||
|
--- a/lib/sysdep.h
|
||||||
|
+++ b/lib/sysdep.h
|
||||||
|
@@ -9,9 +9,11 @@
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define UNUSED __attribute__((unused))
|
||||||
|
#define NONRET __attribute__((noreturn))
|
||||||
|
+#define FORMAT_CHECK(x,y,z) __attribute__((format(x,y,z)))
|
||||||
|
#else
|
||||||
|
#define UNUSED
|
||||||
|
#define NONRET
|
||||||
|
+#define FORMAT_CHECK(x,y,z)
|
||||||
|
#define inline
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff --git a/ls-tree.c b/ls-tree.c
|
||||||
|
index 6995dd2..aeb4087 100644
|
||||||
|
--- a/ls-tree.c
|
||||||
|
+++ b/ls-tree.c
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include <stdarg.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
@@ -167,6 +168,31 @@
|
||||||
|
|
||||||
|
static void show_tree_bridge(struct bridge *, char *, char *);
|
||||||
|
|
||||||
|
+#define LINE_BUF_SIZE 1024
|
||||||
|
+
|
||||||
|
+static char * FORMAT_CHECK(printf, 3, 4)
|
||||||
|
+tree_printf(char *line, char *p, char *fmt, ...)
|
||||||
|
+{
|
||||||
|
+ va_list args;
|
||||||
|
+ char *end = line + LINE_BUF_SIZE - 2;
|
||||||
|
+
|
||||||
|
+ if (p >= end)
|
||||||
|
+ return p;
|
||||||
|
+
|
||||||
|
+ va_start(args, fmt);
|
||||||
|
+ int res = vsnprintf(p, end - p, fmt, args);
|
||||||
|
+ if (res < 0)
|
||||||
|
+ {
|
||||||
|
+ /* Ancient C libraries return -1 on overflow */
|
||||||
|
+ p += strlen(p);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ p += res;
|
||||||
|
+
|
||||||
|
+ va_end(args);
|
||||||
|
+ return p;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
show_tree_dev(struct device *d, char *line, char *p)
|
||||||
|
{
|
||||||
|
@@ -174,19 +200,19 @@
|
||||||
|
struct bridge *b;
|
||||||
|
char namebuf[256];
|
||||||
|
|
||||||
|
- p += sprintf(p, "%02x.%x", q->dev, q->func);
|
||||||
|
+ p = tree_printf(line, p, "%02x.%x", q->dev, q->func);
|
||||||
|
for (b=&host_bridge; b; b=b->chain)
|
||||||
|
if (b->br_dev == d)
|
||||||
|
{
|
||||||
|
if (b->secondary == b->subordinate)
|
||||||
|
- p += sprintf(p, "-[%02x]-", b->secondary);
|
||||||
|
+ p = tree_printf(line, p, "-[%02x]-", b->secondary);
|
||||||
|
else
|
||||||
|
- p += sprintf(p, "-[%02x-%02x]-", b->secondary, b->subordinate);
|
||||||
|
+ p = tree_printf(line, p, "-[%02x-%02x]-", b->secondary, b->subordinate);
|
||||||
|
show_tree_bridge(b, line, p);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (verbose)
|
||||||
|
- p += sprintf(p, " %s",
|
||||||
|
+ p = tree_printf(line, p, " %s",
|
||||||
|
pci_lookup_name(pacc, namebuf, sizeof(namebuf),
|
||||||
|
PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE,
|
||||||
|
q->vendor_id, q->device_id));
|
||||||
|
@@ -200,8 +226,7 @@
|
||||||
|
print_it(line, p);
|
||||||
|
else if (!b->first_dev->next)
|
||||||
|
{
|
||||||
|
- *p++ = '-';
|
||||||
|
- *p++ = '-';
|
||||||
|
+ p = tree_printf(line, p, "--");
|
||||||
|
show_tree_dev(b->first_dev, line, p);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -209,25 +234,23 @@
|
||||||
|
struct device *d = b->first_dev;
|
||||||
|
while (d->next)
|
||||||
|
{
|
||||||
|
- p[0] = '+';
|
||||||
|
- p[1] = '-';
|
||||||
|
- show_tree_dev(d, line, p+2);
|
||||||
|
+ char *p2 = tree_printf(line, p, "+-");
|
||||||
|
+ show_tree_dev(d, line, p2);
|
||||||
|
d = d->next;
|
||||||
|
}
|
||||||
|
- p[0] = '\\';
|
||||||
|
- p[1] = '-';
|
||||||
|
- show_tree_dev(d, line, p+2);
|
||||||
|
+ p = tree_printf(line, p, "\\-");
|
||||||
|
+ show_tree_dev(d, line, p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
show_tree_bridge(struct bridge *b, char *line, char *p)
|
||||||
|
{
|
||||||
|
- *p++ = '-';
|
||||||
|
+ p = tree_printf(line, p, "-");
|
||||||
|
if (!b->first_bus->sibling)
|
||||||
|
{
|
||||||
|
if (b == &host_bridge)
|
||||||
|
- p += sprintf(p, "[%04x:%02x]-", b->domain, b->first_bus->number);
|
||||||
|
+ p = tree_printf(line, p, "[%04x:%02x]-", b->domain, b->first_bus->number);
|
||||||
|
show_tree_bus(b->first_bus, line, p);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -237,11 +260,11 @@
|
||||||
|
|
||||||
|
while (u->sibling)
|
||||||
|
{
|
||||||
|
- k = p + sprintf(p, "+-[%04x:%02x]-", u->domain, u->number);
|
||||||
|
+ k = tree_printf(line, p, "+-[%04x:%02x]-", u->domain, u->number);
|
||||||
|
show_tree_bus(u, line, k);
|
||||||
|
u = u->sibling;
|
||||||
|
}
|
||||||
|
- k = p + sprintf(p, "\\-[%04x:%02x]-", u->domain, u->number);
|
||||||
|
+ k = tree_printf(line, p, "\\-[%04x:%02x]-", u->domain, u->number);
|
||||||
|
show_tree_bus(u, line, k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -249,7 +272,7 @@
|
||||||
|
void
|
||||||
|
show_forest(void)
|
||||||
|
{
|
||||||
|
- char line[256];
|
||||||
|
+ char line[LINE_BUF_SIZE];
|
||||||
|
|
||||||
|
grow_tree();
|
||||||
|
show_tree_bridge(&host_bridge, line, line);
|
12
pciutils-3.1.9_pkgconfig.patch
Normal file
12
pciutils-3.1.9_pkgconfig.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Index: pciutils-3.3.1/lib/libpci.pc.in
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.3.1.orig/lib/libpci.pc.in
|
||||||
|
+++ pciutils-3.3.1/lib/libpci.pc.in
|
||||||
|
@@ -6,6 +6,5 @@ idsdir=@IDSDIR@
|
||||||
|
Name: libpci
|
||||||
|
Description: libpci
|
||||||
|
Version: @VERSION@
|
||||||
|
-Libs: -L${libdir} -lpci
|
||||||
|
+Libs: -lpci @LDLIBS@
|
||||||
|
Libs.private: @LDLIBS@
|
||||||
|
-Cflags: -I${includedir}
|
40
pciutils-3.2.0_update-dist.patch
Normal file
40
pciutils-3.2.0_update-dist.patch
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
Index: pciutils-3.3.1/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.3.1.orig/Makefile
|
||||||
|
+++ pciutils-3.3.1/Makefile
|
||||||
|
@@ -88,7 +88,7 @@ lspci: LDLIBS+=$(LIBKMOD_LIBS)
|
||||||
|
ls-kernel.o: CFLAGS+=$(LIBKMOD_CFLAGS)
|
||||||
|
|
||||||
|
update-pciids: update-pciids.sh
|
||||||
|
- sed <$< >$@ "s@^DEST=.*@DEST=$(IDSDIR)/$(PCI_IDS)@;s@^PCI_COMPRESSED_IDS=.*@PCI_COMPRESSED_IDS=$(PCI_COMPRESSED_IDS)@"
|
||||||
|
+ sed <$< >$@ "s@^DEST=.*@DEST=$(IDSDIR)/pci.ids.d/pci.ids.dist@;s@^PCI_COMPRESSED_IDS=.*@PCI_COMPRESSED_IDS=@"
|
||||||
|
chmod +x $@
|
||||||
|
|
||||||
|
# The example of use of libpci
|
||||||
|
Index: pciutils-3.3.1/update-pciids.sh
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.3.1.orig/update-pciids.sh
|
||||||
|
+++ pciutils-3.3.1/update-pciids.sh
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
|
||||||
|
set -e
|
||||||
|
SRC="http://pci-ids.ucw.cz/v2.2/pci.ids"
|
||||||
|
-DEST=pci.ids
|
||||||
|
+DEST=pci.ids.d/pci.ids.dist
|
||||||
|
PCI_COMPRESSED_IDS=
|
||||||
|
GREP=grep
|
||||||
|
|
||||||
|
@@ -66,6 +66,13 @@ fi
|
||||||
|
mv $DEST.neww $DEST
|
||||||
|
rm $DEST.new
|
||||||
|
|
||||||
|
+if [ -x /usr/bin/merge-pciids -a -x /usr/bin/perl ]; then
|
||||||
|
+ merge-pciids
|
||||||
|
+else
|
||||||
|
+ echo "WARNING: merge-pciids or perl missing"
|
||||||
|
+ cp -p $DEST /usr/share/pci.ids
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# Older versions did not compress the ids file, so let's make sure we
|
||||||
|
# clean that up.
|
||||||
|
if [ ${DEST%.gz} != ${DEST} ] ; then
|
33
pciutils-Add-PCIe-5.0-data-rate-32-GT-s-support.patch
Normal file
33
pciutils-Add-PCIe-5.0-data-rate-32-GT-s-support.patch
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
From caca31a0eea41c7b051705704c1158fddc02fbd2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>
|
||||||
|
Date: Tue, 4 Jun 2019 18:24:46 +0200
|
||||||
|
Subject: [PATCH] lspci: Add PCIe 5.0 data rate (32 GT/s) support
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
Index: pciutils-3.5.6/ls-caps.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.5.6.orig/ls-caps.c
|
||||||
|
+++ pciutils-3.5.6/ls-caps.c
|
||||||
|
@@ -728,6 +728,8 @@ static char *link_speed(int speed)
|
||||||
|
return "8GT/s";
|
||||||
|
case 4:
|
||||||
|
return "16GT/s";
|
||||||
|
+ case 5:
|
||||||
|
+ return "32GT/s";
|
||||||
|
default:
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
@@ -1059,6 +1061,8 @@ static const char *cap_express_link2_spe
|
||||||
|
return "8GT/s";
|
||||||
|
case 4:
|
||||||
|
return "16GT/s";
|
||||||
|
+ case 5:
|
||||||
|
+ return "32GT/s";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
32
pciutils-Add-PCIe-6.0-data-rate-64-GT-s-support.patch
Normal file
32
pciutils-Add-PCIe-6.0-data-rate-64-GT-s-support.patch
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
From 5bdf63b6b1bc35b59c4b3f47f7ca83ca1868155b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>
|
||||||
|
Date: Wed, 18 Nov 2020 23:56:52 +0100
|
||||||
|
Subject: [PATCH] lspci: Add PCIe 6.0 data rate (64 GT/s) support
|
||||||
|
|
||||||
|
This enables "lspci" to show PCIe 6.0 data rate (64 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>
|
||||||
|
Index: pciutils-3.5.6/ls-caps.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.5.6.orig/ls-caps.c
|
||||||
|
+++ pciutils-3.5.6/ls-caps.c
|
||||||
|
@@ -730,6 +730,8 @@ static char *link_speed(int speed)
|
||||||
|
return "16GT/s";
|
||||||
|
case 5:
|
||||||
|
return "32GT/s";
|
||||||
|
+ case 6:
|
||||||
|
+ return "64GT/s";
|
||||||
|
default:
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
@@ -1063,6 +1065,8 @@ static const char *cap_express_link2_spe
|
||||||
|
return "16GT/s";
|
||||||
|
case 5:
|
||||||
|
return "32GT/s";
|
||||||
|
+ case 6:
|
||||||
|
+ return "64GT/s";
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
52
pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
Normal file
52
pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
From eff7cc9ee7f8b6efeb7d5854abbcfb8cdc486a95 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "return.0" <return.0@me.com>
|
||||||
|
Date: Mon, 18 Jun 2018 17:00:31 -0500
|
||||||
|
Subject: [PATCH] pciutils: Add decoding of vendor specific VPD fields
|
||||||
|
|
||||||
|
References: bsc#1170554 ltc#185587
|
||||||
|
Upstream: v3.6.0
|
||||||
|
Git-commit: eff7cc9ee7f8b6efeb7d5854abbcfb8cdc486a95
|
||||||
|
|
||||||
|
IBM has defined several VPD fields that are not part of the PCI
|
||||||
|
spec, but are frequently used on embedded and pluggable pcie
|
||||||
|
adapters.
|
||||||
|
|
||||||
|
Since these fields are "Unknown", they are listed in hex
|
||||||
|
and less readable.
|
||||||
|
|
||||||
|
This patch adds commonly used vendor specific VPD keywords
|
||||||
|
described in "Table 160. LoPAPR VPD Fields" of the Linux on Power
|
||||||
|
Architecture Platform Reference (LoPAPR).
|
||||||
|
|
||||||
|
Signed-off-by: John Walthour <return.0@me.com>
|
||||||
|
---
|
||||||
|
ls-vpd.c | 13 +++++++++++++
|
||||||
|
1 file changed, 13 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/ls-vpd.c b/ls-vpd.c
|
||||||
|
index b79abfc..cc279c3 100644
|
||||||
|
--- a/ls-vpd.c
|
||||||
|
+++ b/ls-vpd.c
|
||||||
|
@@ -41,6 +41,19 @@ static const struct vpd_item {
|
||||||
|
{ 'Y','A', F_TEXT, "Asset tag" },
|
||||||
|
{ 'V', 0 , F_TEXT, "Vendor specific" },
|
||||||
|
{ 'Y', 0 , F_TEXT, "System specific" },
|
||||||
|
+/*
|
||||||
|
+ * The following VPD keywords are vendor specific or not part of any
|
||||||
|
+ * current PCI-SIG specification
|
||||||
|
+ */
|
||||||
|
+ { 'C','C', F_TEXT, "CCIN" },
|
||||||
|
+ { 'F','C', F_TEXT, "Feature code" },
|
||||||
|
+ { 'F','N', F_TEXT, "FRU" },
|
||||||
|
+ { 'N','A', F_TEXT, "Network address" },
|
||||||
|
+ { 'R','M', F_TEXT, "Firmware version" },
|
||||||
|
+ { 'Z', 0 , F_TEXT, "Product specific" },
|
||||||
|
+/*
|
||||||
|
+ * End vendor specific VPD keywords
|
||||||
|
+ */
|
||||||
|
{ 0, 0 , F_BINARY, "Unknown" }
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
47
pciutils-VPD-Cleanup.patch
Normal file
47
pciutils-VPD-Cleanup.patch
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
From d9b702cde8550b245defa130f3d93a5b34ae68d7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Mares <mj@ucw.cz>
|
||||||
|
Date: Tue, 19 Jun 2018 11:44:42 +0200
|
||||||
|
Subject: [PATCH] VPD: Cleanup
|
||||||
|
|
||||||
|
References: bsc#1170554 ltc#185587
|
||||||
|
Upstream: v3.6.0
|
||||||
|
Git-commit: d9b702cde8550b245defa130f3d93a5b34ae68d7
|
||||||
|
|
||||||
|
---
|
||||||
|
ls-vpd.c | 20 +++++++-------------
|
||||||
|
1 file changed, 7 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ls-vpd.c b/ls-vpd.c
|
||||||
|
index cc279c3..37217f0 100644
|
||||||
|
--- a/ls-vpd.c
|
||||||
|
+++ b/ls-vpd.c
|
||||||
|
@@ -41,19 +41,13 @@ static const struct vpd_item {
|
||||||
|
{ 'Y','A', F_TEXT, "Asset tag" },
|
||||||
|
{ 'V', 0 , F_TEXT, "Vendor specific" },
|
||||||
|
{ 'Y', 0 , F_TEXT, "System specific" },
|
||||||
|
-/*
|
||||||
|
- * The following VPD keywords are vendor specific or not part of any
|
||||||
|
- * current PCI-SIG specification
|
||||||
|
- */
|
||||||
|
- { 'C','C', F_TEXT, "CCIN" },
|
||||||
|
- { 'F','C', F_TEXT, "Feature code" },
|
||||||
|
- { 'F','N', F_TEXT, "FRU" },
|
||||||
|
- { 'N','A', F_TEXT, "Network address" },
|
||||||
|
- { 'R','M', F_TEXT, "Firmware version" },
|
||||||
|
- { 'Z', 0 , F_TEXT, "Product specific" },
|
||||||
|
-/*
|
||||||
|
- * End vendor specific VPD keywords
|
||||||
|
- */
|
||||||
|
+ /* Non-standard extensions */
|
||||||
|
+ { 'C','C', F_TEXT, "CCIN" },
|
||||||
|
+ { 'F','C', F_TEXT, "Feature code" },
|
||||||
|
+ { 'F','N', F_TEXT, "FRU" },
|
||||||
|
+ { 'N','A', F_TEXT, "Network address" },
|
||||||
|
+ { 'R','M', F_TEXT, "Firmware version" },
|
||||||
|
+ { 'Z', 0 , F_TEXT, "Product specific" },
|
||||||
|
{ 0, 0 , F_BINARY, "Unknown" }
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
From 726b641b0dd842b920f7e1c985cb4a22494fe466 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Mares <mj@ucw.cz>
|
||||||
|
Date: Sat, 25 Jan 2020 20:42:03 +0100
|
||||||
|
Subject: [PATCH] VPD: When printing item IDs, escape non-ASCII characters
|
||||||
|
|
||||||
|
References: bsc#1170554 ltc#185587
|
||||||
|
Upstream: v3.6.4
|
||||||
|
Git-commit: 726b641b0dd842b920f7e1c985cb4a22494fe466
|
||||||
|
|
||||||
|
---
|
||||||
|
ls-vpd.c | 12 ++++++++----
|
||||||
|
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ls-vpd.c b/ls-vpd.c
|
||||||
|
index 37217f0..92627e4 100644
|
||||||
|
--- a/ls-vpd.c
|
||||||
|
+++ b/ls-vpd.c
|
||||||
|
@@ -10,6 +10,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <string.h>
|
||||||
|
|
||||||
|
#include "lspci.h"
|
||||||
|
|
||||||
|
@@ -156,13 +157,14 @@ cap_vpd(struct device *d)
|
||||||
|
{
|
||||||
|
word read_len;
|
||||||
|
const struct vpd_item *item;
|
||||||
|
- byte id1, id2;
|
||||||
|
+ byte id[2], id1, id2;
|
||||||
|
|
||||||
|
if (!read_vpd(d, res_addr + part_pos, buf, 3, &csum))
|
||||||
|
break;
|
||||||
|
part_pos += 3;
|
||||||
|
- id1 = buf[0];
|
||||||
|
- id2 = buf[1];
|
||||||
|
+ memcpy(id, buf, 2);
|
||||||
|
+ id1 = id[0];
|
||||||
|
+ id2 = id[1];
|
||||||
|
part_len = buf[2];
|
||||||
|
if (part_len > res_len - part_pos)
|
||||||
|
break;
|
||||||
|
@@ -178,7 +180,9 @@ cap_vpd(struct device *d)
|
||||||
|
if (!read_vpd(d, res_addr + part_pos, buf, read_len, &csum))
|
||||||
|
break;
|
||||||
|
|
||||||
|
- printf("\t\t\t[%c%c] %s: ", id1, id2, item->name);
|
||||||
|
+ printf("\t\t\t[");
|
||||||
|
+ print_vpd_string(id, 2);
|
||||||
|
+ printf("] %s: ", item->name);
|
||||||
|
|
||||||
|
switch (item->format)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
420
pciutils-add-decode-support-for-RCECs.patch
Normal file
420
pciutils-add-decode-support-for-RCECs.patch
Normal file
|
@ -0,0 +1,420 @@
|
||||||
|
Index: pciutils-3.5.6/lib/header.h
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.5.6.orig/lib/header.h 2017-04-29 20:05:07.000000000 +0200
|
||||||
|
+++ pciutils-3.5.6/lib/header.h 2020-10-29 09:31:24.947599754 +0100
|
||||||
|
@@ -216,7 +216,7 @@
|
||||||
|
#define PCI_EXT_CAP_ID_PB 0x04 /* Power Budgeting */
|
||||||
|
#define PCI_EXT_CAP_ID_RCLINK 0x05 /* Root Complex Link Declaration */
|
||||||
|
#define PCI_EXT_CAP_ID_RCILINK 0x06 /* Root Complex Internal Link Declaration */
|
||||||
|
-#define PCI_EXT_CAP_ID_RCECOLL 0x07 /* Root Complex Event Collector */
|
||||||
|
+#define PCI_EXT_CAP_ID_RCEC 0x07 /* Root Complex Event Collector */
|
||||||
|
#define PCI_EXT_CAP_ID_MFVC 0x08 /* Multi-Function Virtual Channel */
|
||||||
|
#define PCI_EXT_CAP_ID_VC2 0x09 /* Virtual Channel (2nd ID) */
|
||||||
|
#define PCI_EXT_CAP_ID_RBCB 0x0a /* Root Bridge Control Block */
|
||||||
|
@@ -1007,6 +1007,12 @@
|
||||||
|
#define PCI_RCLINK_LINK_ADDR 8 /* Link Entry: Address (64-bit) */
|
||||||
|
#define PCI_RCLINK_LINK_SIZE 16 /* Link Entry: sizeof */
|
||||||
|
|
||||||
|
+/* Root Complex Event Collector Endpoint Association */
|
||||||
|
+#define PCI_RCEC_EP_CAP_VER(reg) (((reg) >> 16) & 0xf)
|
||||||
|
+#define PCI_RCEC_BUSN_REG_VER 0x02 /* as per PCIe sec 7.9.10.1 */
|
||||||
|
+#define PCI_RCEC_RCIEP_BMAP 0x0004 /* as per PCIe sec 7.9.10.2 */
|
||||||
|
+#define PCI_RCEC_BUSN_REG 0x0008 /* as per PCIe sec 7.9.10.3 */
|
||||||
|
+
|
||||||
|
/* PCIe Vendor-Specific Capability */
|
||||||
|
#define PCI_EVNDR_HEADER 4 /* Vendor-Specific Header */
|
||||||
|
#define PCI_EVNDR_REGISTERS 8 /* Vendor-Specific Registers */
|
||||||
|
Index: pciutils-3.5.6/ls-ecaps.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.5.6.orig/ls-ecaps.c 2017-04-29 20:05:07.000000000 +0200
|
||||||
|
+++ pciutils-3.5.6/ls-ecaps.c 2020-10-29 09:31:24.947599754 +0100
|
||||||
|
@@ -650,6 +650,61 @@ cap_l1pm(struct device *d, int where)
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+cap_rcec(struct device *d, int where)
|
||||||
|
+{
|
||||||
|
+ printf("Root Complex Event Collector Endpoint Association\n");
|
||||||
|
+ if (verbose < 2)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ if (!config_fetch(d, where, 12))
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ u32 hdr = get_conf_long(d, where);
|
||||||
|
+ byte cap_ver = PCI_RCEC_EP_CAP_VER(hdr);
|
||||||
|
+ u32 bmap = get_conf_long(d, where + PCI_RCEC_RCIEP_BMAP);
|
||||||
|
+ printf("\t\tRCiEPBitmap: ");
|
||||||
|
+ if (bmap)
|
||||||
|
+ {
|
||||||
|
+ int prevmatched=0;
|
||||||
|
+ int adjcount=0;
|
||||||
|
+ int prevdev=0;
|
||||||
|
+ printf("RCiEP at Device(s):");
|
||||||
|
+ for (int dev=0; dev < 32; dev++)
|
||||||
|
+ {
|
||||||
|
+ if (BITS(bmap, dev, 1))
|
||||||
|
+ {
|
||||||
|
+ if (!adjcount)
|
||||||
|
+ printf("%s %u", (prevmatched) ? "," : "", dev);
|
||||||
|
+ adjcount++;
|
||||||
|
+ prevdev=dev;
|
||||||
|
+ prevmatched=1;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ if (adjcount > 1)
|
||||||
|
+ printf("-%u", prevdev);
|
||||||
|
+ adjcount=0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ printf("%s", (verbose > 2) ? "00000000 [none]" : "[none]");
|
||||||
|
+ printf("\n");
|
||||||
|
+
|
||||||
|
+ if (cap_ver < PCI_RCEC_BUSN_REG_VER)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ u32 busn = get_conf_long(d, where + PCI_RCEC_BUSN_REG);
|
||||||
|
+ u8 lastbusn = BITS(busn, 16, 8);
|
||||||
|
+ u8 nextbusn = BITS(busn, 8, 8);
|
||||||
|
+
|
||||||
|
+ if ((lastbusn == 0x00) && (nextbusn == 0xff))
|
||||||
|
+ printf("\t\tAssociatedBusNumbers: %s\n", (verbose > 2) ? "ff-00 [none]" : "[none]");
|
||||||
|
+ else
|
||||||
|
+ printf("\t\tAssociatedBusNumbers: %02x-%02x\n", nextbusn, lastbusn );
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
cap_ptm(struct device *d, int where)
|
||||||
|
{
|
||||||
|
u32 buff;
|
||||||
|
@@ -759,8 +814,8 @@ show_ext_caps(struct device *d, int type
|
||||||
|
case PCI_EXT_CAP_ID_RCILINK:
|
||||||
|
printf("Root Complex Internal Link <?>\n");
|
||||||
|
break;
|
||||||
|
- case PCI_EXT_CAP_ID_RCECOLL:
|
||||||
|
- printf("Root Complex Event Collector <?>\n");
|
||||||
|
+ case PCI_EXT_CAP_ID_RCEC:
|
||||||
|
+ cap_rcec(d, where);
|
||||||
|
break;
|
||||||
|
case PCI_EXT_CAP_ID_MFVC:
|
||||||
|
printf("Multi-Function Virtual Channel <?>\n");
|
||||||
|
Index: pciutils-3.5.6/setpci.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.5.6.orig/setpci.c 2016-10-03 21:49:09.000000000 +0200
|
||||||
|
+++ pciutils-3.5.6/setpci.c 2020-10-29 09:34:12.540466140 +0100
|
||||||
|
@@ -293,7 +293,7 @@ static const struct reg_name pci_reg_nam
|
||||||
|
{ 0x20004, 0, 0, "ECAP_PB" },
|
||||||
|
{ 0x20005, 0, 0, "ECAP_RCLINK" },
|
||||||
|
{ 0x20006, 0, 0, "ECAP_RCILINK" },
|
||||||
|
- { 0x20007, 0, 0, "ECAP_RCECOLL" },
|
||||||
|
+ { 0x20007, 0, 0, "ECAP_RCEC" },
|
||||||
|
{ 0x20008, 0, 0, "ECAP_MFVC" },
|
||||||
|
{ 0x2000a, 0, 0, "ECAP_RBCB" },
|
||||||
|
{ 0x2000b, 0, 0, "ECAP_VNDR" },
|
||||||
|
Index: pciutils-3.5.6/tests/cap-rcec
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ pciutils-3.5.6/tests/cap-rcec 2020-10-29 09:31:24.947599754 +0100
|
||||||
|
@@ -0,0 +1,299 @@
|
||||||
|
+6a:00.4 Generic system peripheral [0807]: Intel Corporation Device 0b23
|
||||||
|
+ Subsystem: Intel Corporation Device 0000
|
||||||
|
+ Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
|
||||||
|
+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
|
||||||
|
+ Interrupt: pin A routed to IRQ 255
|
||||||
|
+ NUMA node: 0
|
||||||
|
+ Capabilities: [40] Express (v2) Root Complex Event Collector, MSI 00
|
||||||
|
+ DevCap: MaxPayload 512 bytes, PhantFunc 0
|
||||||
|
+ ExtTag- RBE-
|
||||||
|
+ DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq-
|
||||||
|
+ RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
|
||||||
|
+ MaxPayload 128 bytes, MaxReadReq 128 bytes
|
||||||
|
+ DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
|
||||||
|
+ RootCap: CRSVisible-
|
||||||
|
+ RootCtl: ErrCorrectable+ ErrNon-Fatal+ ErrFatal+ PMEIntEna- CRSVisible-
|
||||||
|
+ RootSta: PME ReqID 0000, PMEStatus- PMEPending-
|
||||||
|
+ DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR-
|
||||||
|
+ 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
|
||||||
|
+ EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
|
||||||
|
+ FRS-
|
||||||
|
+ DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
|
||||||
|
+ Capabilities: [80] Power Management version 3
|
||||||
|
+ Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
|
||||||
|
+ Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
|
||||||
|
+ Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit-
|
||||||
|
+ Address: 00000000 Data: 0000
|
||||||
|
+ Masking: 00000000 Pending: 00000000
|
||||||
|
+ Capabilities: [100 v1] Advanced Error Reporting
|
||||||
|
+ UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
|
||||||
|
+ UEMsk: DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
|
||||||
|
+ UESvrt: DLP+ SDES- TLP+ FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
|
||||||
|
+ CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
|
||||||
|
+ CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
|
||||||
|
+ AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
|
||||||
|
+ MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
|
||||||
|
+ HeaderLog: 00000000 00000000 00000000 00000000
|
||||||
|
+ RootCmd: CERptEn- NFERptEn- FERptEn-
|
||||||
|
+ RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
|
||||||
|
+ FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
|
||||||
|
+ ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
|
||||||
|
+ Capabilities: [160 v2] Root Complex Event Collector Endpoint Association
|
||||||
|
+ RCiEPBitmap: RCiEP at Device(s): 1, 6, 8-10, 12, 15
|
||||||
|
+ AssociatedBusNumbers: 02-08
|
||||||
|
+00: 86 80 23 0b 00 01 10 00 00 00 07 08 00 00 00 00
|
||||||
|
+10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 00 00
|
||||||
|
+30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00
|
||||||
|
+40: 10 80 a2 00 02 00 00 00 07 00 00 00 00 00 00 00
|
||||||
|
+50: 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00
|
||||||
|
+60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+80: 01 90 03 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+90: 05 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d0: 31 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+100: 01 00 01 16 00 00 00 00 20 00 10 00 10 30 46 00
|
||||||
|
+110: 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+160: 07 00 02 00 00 00 00 00 00 ff 00 00 00 00 00 00
|
||||||
|
+170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+260: 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+270: 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00
|
||||||
|
+280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+2a0: 00 00 00 00 00 00 00 00 20 00 18 00 20 00 18 00
|
||||||
|
+2b0: 20 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+2f0: 00 20 00 00 00 20 00 00 00 20 00 00 00 e0 00 00
|
||||||
|
+300: 00 e0 00 00 00 e0 00 00 00 e0 00 00 00 e0 00 00
|
||||||
|
+310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+5f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+600: 44 00 00 00 91 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+680: 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+7f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||||
|
+ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
87
pciutils-endianh.patch
Normal file
87
pciutils-endianh.patch
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
diff -urN pciutils-3.3.0.old/lib/sysdep.h pciutils-3.3.0/lib/sysdep.h
|
||||||
|
--- pciutils-3.3.0.old/lib/sysdep.h 2014-11-18 14:27:01.054393822 +0100
|
||||||
|
+++ pciutils-3.3.0/lib/sysdep.h 2014-11-18 14:28:43.420561080 +0100
|
||||||
|
@@ -18,79 +18,9 @@
|
||||||
|
typedef u8 byte;
|
||||||
|
typedef u16 word;
|
||||||
|
|
||||||
|
-#ifdef PCI_OS_WINDOWS
|
||||||
|
-#define strcasecmp strcmpi
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifdef PCI_HAVE_LINUX_BYTEORDER_H
|
||||||
|
-
|
||||||
|
-#include <asm/byteorder.h>
|
||||||
|
-#define cpu_to_le16 __cpu_to_le16
|
||||||
|
-#define cpu_to_le32 __cpu_to_le32
|
||||||
|
-#define le16_to_cpu __le16_to_cpu
|
||||||
|
-#define le32_to_cpu __le32_to_cpu
|
||||||
|
-
|
||||||
|
-#else
|
||||||
|
-
|
||||||
|
-#ifdef PCI_OS_LINUX
|
||||||
|
#include <endian.h>
|
||||||
|
-#define BYTE_ORDER __BYTE_ORDER
|
||||||
|
-#define BIG_ENDIAN __BIG_ENDIAN
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#ifdef PCI_OS_SUNOS
|
||||||
|
-#include <sys/byteorder.h>
|
||||||
|
-#if defined(__i386) && defined(LITTLE_ENDIAN)
|
||||||
|
-# define BYTE_ORDER LITTLE_ENDIAN
|
||||||
|
-#elif defined(__sparc) && defined(BIG_ENDIAN)
|
||||||
|
-# define BYTE_ORDER BIG_ENDIAN
|
||||||
|
-#else
|
||||||
|
-#define BIG_ENDIAN 4321
|
||||||
|
-#endif
|
||||||
|
-#ifndef BYTE_ORDER
|
||||||
|
-#ifdef _LITTLE_ENDIAN
|
||||||
|
-#define BYTE_ORDER 1234
|
||||||
|
-#else
|
||||||
|
-#define BYTE_ORDER 4321
|
||||||
|
-#endif
|
||||||
|
-#endif /* BYTE_ORDER */
|
||||||
|
-#endif /* PCI_OS_SUNOS */
|
||||||
|
-
|
||||||
|
-#ifdef PCI_OS_WINDOWS
|
||||||
|
-#ifdef __MINGW32__
|
||||||
|
- #include <sys/param.h>
|
||||||
|
-#else
|
||||||
|
- #include <io.h>
|
||||||
|
- #define BIG_ENDIAN 4321
|
||||||
|
- #define LITTLE_ENDIAN 1234
|
||||||
|
- #define BYTE_ORDER LITTLE_ENDIAN
|
||||||
|
- #define snprintf _snprintf
|
||||||
|
-#endif
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
-#define cpu_to_le16 swab16
|
||||||
|
-#define cpu_to_le32 swab32
|
||||||
|
-#define le16_to_cpu swab16
|
||||||
|
-#define le32_to_cpu swab32
|
||||||
|
-
|
||||||
|
-static inline word swab16(word w)
|
||||||
|
-{
|
||||||
|
- return (w << 8) | ((w >> 8) & 0xff);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static inline u32 swab32(u32 w)
|
||||||
|
-{
|
||||||
|
- return ((w & 0xff000000) >> 24) |
|
||||||
|
- ((w & 0x00ff0000) >> 8) |
|
||||||
|
- ((w & 0x0000ff00) << 8) |
|
||||||
|
- ((w & 0x000000ff) << 24);
|
||||||
|
-}
|
||||||
|
-#else
|
||||||
|
-#define cpu_to_le16(x) (x)
|
||||||
|
-#define cpu_to_le32(x) (x)
|
||||||
|
-#define le16_to_cpu(x) (x)
|
||||||
|
-#define le32_to_cpu(x) (x)
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
-#endif
|
||||||
|
+#define cpu_to_le16 htole16
|
||||||
|
+#define cpu_to_le32 htole32
|
||||||
|
+#define le16_to_cpu le16toh
|
||||||
|
+#define le32_to_cpu le32toh
|
128
pciutils-ocloexec.patch
Normal file
128
pciutils-ocloexec.patch
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
Index: pciutils-3.4.0/lib/dump.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.4.0.orig/lib/dump.c
|
||||||
|
+++ pciutils-3.4.0/lib/dump.c
|
||||||
|
@@ -64,7 +64,7 @@ dump_init(struct pci_access *a)
|
||||||
|
|
||||||
|
if (!name)
|
||||||
|
a->error("dump: File name not given.");
|
||||||
|
- if (!(f = fopen(name, "r")))
|
||||||
|
+ if (!(f = fopen(name, "re")))
|
||||||
|
a->error("dump: Cannot open %s: %s", name, strerror(errno));
|
||||||
|
while (fgets(buf, sizeof(buf)-1, f))
|
||||||
|
{
|
||||||
|
Index: pciutils-3.4.0/lib/names-cache.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.4.0.orig/lib/names-cache.c
|
||||||
|
+++ pciutils-3.4.0/lib/names-cache.c
|
||||||
|
@@ -63,7 +63,7 @@ pci_id_cache_load(struct pci_access *a,
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- f = fopen(name, "rb");
|
||||||
|
+ f = fopen(name, "rbe");
|
||||||
|
if (!f)
|
||||||
|
{
|
||||||
|
a->debug("Cache file does not exist\n");
|
||||||
|
@@ -136,7 +136,7 @@ pci_id_cache_flush(struct pci_access *a)
|
||||||
|
tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64);
|
||||||
|
sprintf(tmpname, "%s.tmp-%s-%d", name, hostname, this_pid);
|
||||||
|
|
||||||
|
- f = fopen(tmpname, "wb");
|
||||||
|
+ f = fopen(tmpname, "wbe");
|
||||||
|
if (!f)
|
||||||
|
{
|
||||||
|
a->warning("Cannot write to %s: %s", name, strerror(errno));
|
||||||
|
Index: pciutils-3.4.0/lib/names-parse.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.4.0.orig/lib/names-parse.c
|
||||||
|
+++ pciutils-3.4.0/lib/names-parse.c
|
||||||
|
@@ -52,7 +52,7 @@ static pci_file pci_open(struct pci_acce
|
||||||
|
typedef FILE * pci_file;
|
||||||
|
#define pci_gets(f, l, s) fgets(l, s, f)
|
||||||
|
#define pci_eof(f) feof(f)
|
||||||
|
-#define pci_open(a) fopen(a->id_file_name, "r")
|
||||||
|
+#define pci_open(a) fopen(a->id_file_name, "re")
|
||||||
|
#define pci_close(f) fclose(f)
|
||||||
|
#define PCI_ERROR(f, err) if (!err && ferror(f)) err = "I/O error";
|
||||||
|
#endif
|
||||||
|
Index: pciutils-3.4.0/lib/proc.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.4.0.orig/lib/proc.c
|
||||||
|
+++ pciutils-3.4.0/lib/proc.c
|
||||||
|
@@ -62,7 +62,7 @@ proc_scan(struct pci_access *a)
|
||||||
|
|
||||||
|
if (snprintf(buf, sizeof(buf), "%s/devices", pci_get_param(a, "proc.path")) == sizeof(buf))
|
||||||
|
a->error("File name too long");
|
||||||
|
- f = fopen(buf, "r");
|
||||||
|
+ f = fopen(buf, "re");
|
||||||
|
if (!f)
|
||||||
|
a->error("Cannot open %s", buf);
|
||||||
|
while (fgets(buf, sizeof(buf)-1, f))
|
||||||
|
@@ -129,7 +129,7 @@ proc_setup(struct pci_dev *d, int rw)
|
||||||
|
if (e < 0 || e >= (int) sizeof(buf))
|
||||||
|
a->error("File name too long");
|
||||||
|
a->fd_rw = a->writeable || rw;
|
||||||
|
- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
|
||||||
|
+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
|
||||||
|
if (a->fd < 0)
|
||||||
|
{
|
||||||
|
e = snprintf(buf, sizeof(buf), "%s/%04x:%02x/%02x.%d",
|
||||||
|
@@ -137,7 +137,7 @@ proc_setup(struct pci_dev *d, int rw)
|
||||||
|
d->domain, d->bus, d->dev, d->func);
|
||||||
|
if (e < 0 || e >= (int) sizeof(buf))
|
||||||
|
a->error("File name too long");
|
||||||
|
- a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY);
|
||||||
|
+ a->fd = open(buf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
|
||||||
|
}
|
||||||
|
if (a->fd < 0)
|
||||||
|
a->warning("Cannot open %s", buf);
|
||||||
|
Index: pciutils-3.4.0/lib/sysfs.c
|
||||||
|
===================================================================
|
||||||
|
--- pciutils-3.4.0.orig/lib/sysfs.c
|
||||||
|
+++ pciutils-3.4.0/lib/sysfs.c
|
||||||
|
@@ -96,7 +96,7 @@ sysfs_get_string(struct pci_dev *d, char
|
||||||
|
void (*warn)(char *msg, ...) = (mandatory ? a->error : a->warning);
|
||||||
|
|
||||||
|
sysfs_obj_name(d, object, namebuf);
|
||||||
|
- fd = open(namebuf, O_RDONLY);
|
||||||
|
+ fd = open(namebuf, O_RDONLY|O_CLOEXEC);
|
||||||
|
if (fd < 0)
|
||||||
|
{
|
||||||
|
if (mandatory || errno != ENOENT)
|
||||||
|
@@ -139,7 +139,7 @@ sysfs_get_resources(struct pci_dev *d)
|
||||||
|
int i;
|
||||||
|
|
||||||
|
sysfs_obj_name(d, "resource", namebuf);
|
||||||
|
- file = fopen(namebuf, "r");
|
||||||
|
+ file = fopen(namebuf, "re");
|
||||||
|
if (!file)
|
||||||
|
a->error("Cannot open %s: %s", namebuf, strerror(errno));
|
||||||
|
for (i = 0; i < 7; i++)
|
||||||
|
@@ -245,7 +245,7 @@ sysfs_fill_slots(struct pci_access *a)
|
||||||
|
n = snprintf(namebuf, OBJNAMELEN, "%s/%s/%s", dirname, entry->d_name, "address");
|
||||||
|
if (n < 0 || n >= OBJNAMELEN)
|
||||||
|
a->error("File name too long");
|
||||||
|
- file = fopen(namebuf, "r");
|
||||||
|
+ file = fopen(namebuf, "re");
|
||||||
|
/*
|
||||||
|
* Old versions of Linux had a fakephp which didn't have an 'address'
|
||||||
|
* file. There's no useful information to be gleaned from these
|
||||||
|
@@ -331,7 +331,7 @@ sysfs_setup(struct pci_dev *d, int inten
|
||||||
|
if (a->fd_vpd < 0)
|
||||||
|
{
|
||||||
|
sysfs_obj_name(d, "vpd", namebuf);
|
||||||
|
- a->fd_vpd = open(namebuf, O_RDONLY);
|
||||||
|
+ a->fd_vpd = open(namebuf, O_RDONLY|O_CLOEXEC);
|
||||||
|
/* No warning on error; vpd may be absent or accessible only to root */
|
||||||
|
}
|
||||||
|
return a->fd_vpd;
|
||||||
|
@@ -341,7 +341,7 @@ sysfs_setup(struct pci_dev *d, int inten
|
||||||
|
{
|
||||||
|
sysfs_obj_name(d, "config", namebuf);
|
||||||
|
a->fd_rw = a->writeable || intent == SETUP_WRITE_CONFIG;
|
||||||
|
- a->fd = open(namebuf, a->fd_rw ? O_RDWR : O_RDONLY);
|
||||||
|
+ a->fd = open(namebuf, (a->fd_rw ? O_RDWR : O_RDONLY) | O_CLOEXEC);
|
||||||
|
if (a->fd < 0)
|
||||||
|
a->warning("Cannot open %s", namebuf);
|
||||||
|
a->fd_pos = 0;
|
594
pciutils.changes
Normal file
594
pciutils.changes
Normal file
|
@ -0,0 +1,594 @@
|
||||||
|
* Wed Oct 4 2023 psimons@suse.com
|
||||||
|
- Apply "lspci-Fixed-buffer-overflows-in-ls-tree.c.patch" to fix a
|
||||||
|
buffer overflow error that would cause lspci to crash on systems
|
||||||
|
with complex topologies. [bsc#1215265]
|
||||||
|
- Add "pciutils.keyring" so that the tarball's signature can be
|
||||||
|
verified at build time.
|
||||||
|
- Use "%%license" tag instead of "%%doc" to install the package's
|
||||||
|
license file.
|
||||||
|
* Mon Jan 24 2022 vliaskovitis@suse.com
|
||||||
|
- Add pciutils-Add-PCIe-5.0-data-rate-32-GT-s-support.patch
|
||||||
|
Add pciutils-Add-PCIe-6.0-data-rate-64-GT-s-support.patch
|
||||||
|
(bsc#1192862)
|
||||||
|
* Thu Oct 29 2020 pgajdos@suse.com
|
||||||
|
- Add decode support for RCECs [jsc#SLE-13735]
|
||||||
|
- added patches
|
||||||
|
https://github.com/pciutils/pciutils/commit/e12bd01eea67ca8cf539263124843ba281eb6ecc
|
||||||
|
+ pciutils-add-decode-support-for-RCECs.patch
|
||||||
|
* Thu May 21 2020 msuchanek@suse.com
|
||||||
|
- Fix lspci outputs few of the VPD data fields are displayed as unknown (bsc#1170554, ltc#185587).
|
||||||
|
Added:
|
||||||
|
* pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch
|
||||||
|
* pciutils-VPD-Cleanup.patch
|
||||||
|
* pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
|
||||||
|
* Sun Nov 19 2017 aavindraa@gmail.com
|
||||||
|
- Update to version 3.5.6
|
||||||
|
* MN VPD keyword is decoded correctly.
|
||||||
|
* As usual, updated pci.ids to the current snapshot of the
|
||||||
|
database.
|
||||||
|
* FreeBSD back-end: read-only access for non-root, support
|
||||||
|
DragonFly BSD, support extended config space.
|
||||||
|
* Sat Nov 11 2017 aavindraa@gmail.com
|
||||||
|
- Update to version 3.5.5
|
||||||
|
* Better decoding of AER capability.
|
||||||
|
* "Slot Implemented" flag is decoded for PCI/PCI-X to PCIe bridges.
|
||||||
|
* Minor fixes of decoding other capabilities.
|
||||||
|
* As usual, updated pci.ids to the current snapshot of the
|
||||||
|
database.
|
||||||
|
- cleanup with spec-cleaner
|
||||||
|
- switch from ftp to https
|
||||||
|
- track signature
|
||||||
|
* Mon Feb 27 2017 mpluskal@suse.com
|
||||||
|
- Update to version 3.5.4:
|
||||||
|
* Previous version broke compilation on systems, for which
|
||||||
|
lib/types.h did not provide a 64-bit integer type. It is
|
||||||
|
provided everywhere now.
|
||||||
|
- Changes for version 3.5.3:
|
||||||
|
* When lspci looks for Linux kernel modules, it uses the default
|
||||||
|
path to module directory provided by libkmod. Previously,
|
||||||
|
it tried to construct the path explicitly, which need not
|
||||||
|
work on all systems.
|
||||||
|
* Improved formatting of memory and I/O ranges behind a bridge.
|
||||||
|
* PCIe link capabilities now display GEN4 speed (16GT/s).
|
||||||
|
* PCIe device capabilities now show bits related to atomic
|
||||||
|
operations.
|
||||||
|
- Changes for version 3.5.2:
|
||||||
|
* The L1 power management capability is now decoded more
|
||||||
|
thoroughly. Thanks to Rajat Jain for the patch.
|
||||||
|
* The table of configuration registers used by setpci
|
||||||
|
had a bug in the definition of SUBSYSTEM_VENDOR_ID.
|
||||||
|
* Wed May 25 2016 mpluskal@suse.com
|
||||||
|
- Update to version 3.5.1:
|
||||||
|
* Fixed symbol versioning of pci_init().
|
||||||
|
* Fri May 20 2016 mpluskal@suse.com
|
||||||
|
- Update to version 3.5.0:
|
||||||
|
* New capabilities decoded: Downstream Port Containment,
|
||||||
|
Precision Time Measurement. Thanks to Keith Busch and
|
||||||
|
Jonathan Yong.
|
||||||
|
* Domain numbers extended to 31 bits. This will be used by the
|
||||||
|
Linux kernel on some machines in near future.
|
||||||
|
* Enhanced allocation regions are now decoded on Linux.
|
||||||
|
* The NetBSD back-end supports PCIe extended configuration space.
|
||||||
|
* Updated pci.ids to the current snapshot of the database.
|
||||||
|
* Fri Jan 8 2016 tchvatal@suse.com
|
||||||
|
- Version update to 3.4.1:
|
||||||
|
* New capabilities decoded: Process Address Space, Page Request
|
||||||
|
Interface, Enhanced Allocation. Thanks to David Daney and
|
||||||
|
David Woodhouse.
|
||||||
|
* DevCap SlotPowerLimit is now decoded for all components with
|
||||||
|
upstream ports.
|
||||||
|
* Sat Nov 21 2015 jengelh@inai.de
|
||||||
|
- Summary update
|
||||||
|
* Fri Nov 13 2015 mpluskal@suse.com
|
||||||
|
- Update to 3.4.0
|
||||||
|
* On Linux, we report NUMA nodes of devices.
|
||||||
|
* The sysfs back-end does not die on read errors
|
||||||
|
of optional attributes. Instead, a warning is produced.
|
||||||
|
* Fixed several minor bugs.
|
||||||
|
* Updated pci.ids to the current snapshot of the database.
|
||||||
|
* Sun Sep 6 2015 mpluskal@suse.com
|
||||||
|
- Update to 3.3.1
|
||||||
|
* Removed hacks for backward compatibility with Linux libc5,
|
||||||
|
which were breaking newer non-glibc Linux systems. Thanks
|
||||||
|
to Felix Janda.
|
||||||
|
* Display VirtIO vendor-specific capability. Patch by Gerd
|
||||||
|
Hoffmann.
|
||||||
|
* Fixed memory leak in name cache.
|
||||||
|
* Updated pci.ids to the current snapshot of the database.
|
||||||
|
* Tue Nov 18 2014 tchvatal@suse.com
|
||||||
|
- Version bump to 3.3.0:
|
||||||
|
* Device names exported by BIOS are displayed on Linux.
|
||||||
|
* On Linux systems, HWDB is used to look up device names
|
||||||
|
when our ID database gives no match. (More precisely,
|
||||||
|
HWDB is consulted after local pci.ids, but before using
|
||||||
|
network to query online pci.ids.) Thanks to Tom Gundersen
|
||||||
|
for the initial patch.
|
||||||
|
* Added experimental back-end for OS X / Darwin. Thanks to
|
||||||
|
Richard Yao for providing it.
|
||||||
|
* Filters now support matching by device class. Original
|
||||||
|
patch by Matthew Wilcox, wrappers for ABI compatibility
|
||||||
|
by me.
|
||||||
|
* Interrupt Pin and Interrupt Line registers are displayed
|
||||||
|
for bridge devices, too.
|
||||||
|
* Several portability bugs have been fixed.
|
||||||
|
* Several typos have been fixed. Also, use of questionable
|
||||||
|
constructs in man pages has been reduced.
|
||||||
|
* PCIe link capabilities now include the ASPMOptComp bit.
|
||||||
|
* The "CRS Software Visibility" bit is now decoded properly.
|
||||||
|
* Updated pci.ids to the current snapshot of the database.
|
||||||
|
- Refresh patch:
|
||||||
|
* pciutils-endianh.patch
|
||||||
|
* Mon Aug 18 2014 fcrozat@suse.com
|
||||||
|
- Add obsoletes/provides to baselibs.conf.
|
||||||
|
* Tue May 13 2014 tchvatal@suse.com
|
||||||
|
- Remove COPYING from obs it is in tarball directly
|
||||||
|
- Version bump to 3.2.1:
|
||||||
|
* CardBus bridge capabilities are displayed.
|
||||||
|
* PCIe L1 PM substates are decoded.
|
||||||
|
* Various bugs were fixed in decoding of PCIe capabilities.
|
||||||
|
* The sysfs back-end does not spit out unnecessary warnings when
|
||||||
|
empty slots report only a partial device address. This actually
|
||||||
|
happens on IBM pSeries.
|
||||||
|
* Updated pci.ids to the today's snapshot of the database.
|
||||||
|
- Cleanup with spec-cleaner
|
||||||
|
* Tue Jul 30 2013 sweet_f_a@gmx.de
|
||||||
|
- Update to 3.2.0
|
||||||
|
* On newer Linux systems, we use libkmod to look up kernel
|
||||||
|
modules (modules.pcimap no longer exists.) To facilitate this,
|
||||||
|
libpci is able to look up module aliases in sysfs.
|
||||||
|
* Various minor bug fixes.
|
||||||
|
* Updated pci.ids to the today's snapshot of the database.
|
||||||
|
- Update to 3.1.10
|
||||||
|
* Decoding of LTR/OBFF in PCIe capabilities.
|
||||||
|
* Various minor bug fixes.
|
||||||
|
* Updated pci.ids to the today's snapshot of the database.
|
||||||
|
- rebase patches
|
||||||
|
- require libkmod
|
||||||
|
* Mon Apr 15 2013 idonmez@suse.com
|
||||||
|
- Add Source URL, see https://en.opensuse.org/SourceUrls
|
||||||
|
* Mon Dec 31 2012 crrodriguez@opensuse.org
|
||||||
|
- pciutils-endianh.patch Use the documented/optimized byteswapping
|
||||||
|
routines from endian.h
|
||||||
|
* Sun Mar 18 2012 jengelh@medozas.de
|
||||||
|
- Shared library policy: new subpackage libpci3
|
||||||
|
* Sun Jan 29 2012 tabraham@novell.com
|
||||||
|
- Update to 3.1.9
|
||||||
|
* Whereever we mention the PCI ID database, we now refer to
|
||||||
|
http://pci-ids.ucw.cz/ and the sf.net site is mentioned only
|
||||||
|
as a mirror. This includes update-pciids.
|
||||||
|
* Decode PCIe Gen 3 speeds and link status fields
|
||||||
|
* various minor bug fixes
|
||||||
|
* Updated pci.ids to the 2012-01-14 snapshot of the database
|
||||||
|
- Update to 3.1.8
|
||||||
|
* More capabilities: Transaction Processing Hints, Latency
|
||||||
|
Tolerance Reporting. Thanks to Jesse Barnes.
|
||||||
|
* Added BeOS and Haiku ports. Contributed by Francois Revol.
|
||||||
|
* pciutils.pc now uses Libs.private properly.
|
||||||
|
* When we format a name and it does not fit in the buffer, we
|
||||||
|
truncate it instead of returning "buffer too small" instead.
|
||||||
|
This works on all platforms with sane (i.e., C99-compatible)
|
||||||
|
snprintf().
|
||||||
|
* various minor bug fixes
|
||||||
|
* Mon Nov 14 2011 crrodriguez@opensuse.org
|
||||||
|
- open all file descriptors with O_CLOEXEC,specially important
|
||||||
|
on libpci and calling apps may fork() and we end up leaking
|
||||||
|
information to child processes.
|
||||||
|
* Mon Mar 21 2011 coolo@novell.com
|
||||||
|
- licenses package is about to die
|
||||||
|
* Mon Jun 28 2010 jengelh@medozas.de
|
||||||
|
- use %%_smp_mflags
|
||||||
|
* Sat Apr 24 2010 coolo@novell.com
|
||||||
|
- buildrequire pkg-config to fix provides
|
||||||
|
* Thu Feb 25 2010 anicka@suse.cz
|
||||||
|
- update to 3.1.7
|
||||||
|
* Minor improvements and bug fixes in decoding of the Virtual Channel
|
||||||
|
capability.
|
||||||
|
* Released as 3.1.6.
|
||||||
|
* More capabilities decoded: Virtual Channel (except arbitration
|
||||||
|
tables), Root Complex Link, Vendor-Specific (header only), SATA HBA.
|
||||||
|
* All extended capabilities have their version displayed (-vv or more).
|
||||||
|
* Mon Feb 1 2010 jengelh@medozas.de
|
||||||
|
- package baselibs.conf
|
||||||
|
* Fri Jan 22 2010 anicka@suse.cz
|
||||||
|
- update to 1.3.5
|
||||||
|
* Updated pci.ids to the today's snapshot of the database.
|
||||||
|
* When scanning extended capabilities, properly mask the lowest 2 bits,
|
||||||
|
which are currently reserved. This avoids unaligned access errors on
|
||||||
|
broken hardware (see tests/broken-ecaps).
|
||||||
|
* Large bar sizes are displayed in human-readable format (with units).
|
||||||
|
* Physical slot information is displayed correctly for multi-function cards.
|
||||||
|
* Fixed a couple of typos everywhere.
|
||||||
|
* Library: Fixed bugs in freeing of capabilities.
|
||||||
|
* Windows back-end compiles again.
|
||||||
|
* Tue Dec 15 2009 jengelh@medozas.de
|
||||||
|
- enable parallel building
|
||||||
|
* Thu Dec 10 2009 anicka@suse.cz
|
||||||
|
- update to 3.1.4
|
||||||
|
* Updated pci.ids to the today's snapshot of the database.
|
||||||
|
* Fixed memory and file descriptor leak in the dump back-end.
|
||||||
|
* The SR-IOV capability decoder now prints the VF BAR's.
|
||||||
|
* On request of certain company's lawyers, we now include a copy
|
||||||
|
of the GPL with our package. It seems that the pciutils are getting
|
||||||
|
mature if the most important bug of the month was this one ;-)
|
||||||
|
* Tue Nov 3 2009 coolo@novell.com
|
||||||
|
- updated patches to apply with fuzz=0
|
||||||
|
* Fri Aug 14 2009 anicka@suse.cz
|
||||||
|
- add COPYING file to fix (bnc#518238)
|
||||||
|
- fix last patch
|
||||||
|
* Mon Aug 10 2009 anicka@suse.cz
|
||||||
|
- add fclose to dump_init (bnc#529469)
|
||||||
|
* Mon Aug 3 2009 anicka@suse.cz
|
||||||
|
- update to 3.1.3
|
||||||
|
* The VPD parser now reports unknown and vendor-defined items
|
||||||
|
properly. It also stops on any item in unknown format,
|
||||||
|
avoiding long output on bogus VPD data.
|
||||||
|
* The MSI-X table size now matches the spec.
|
||||||
|
* The Power Management capability now includes the soft reset bit.
|
||||||
|
* Decoding of the Advanced Features capability has been added.
|
||||||
|
* The whole package compiles on GNU/kFreeBSD again.
|
||||||
|
* The procfs back-end is able to cope with /proc/bus/pci
|
||||||
|
containing names with domains, which occur on sparc64 and
|
||||||
|
possibly other architectures due to a kernel bug.
|
||||||
|
* The sysfs back-end no longer complains when a slot address
|
||||||
|
is missing, which happens with old versions of Linux fakephp.
|
||||||
|
* The Device Serial Number capability is printed in the right
|
||||||
|
byte order.
|
||||||
|
* The MSI and MSI-X capabilities are printed in a prettier way.
|
||||||
|
* The tree output mode (`lspci -t') shows domain numbers only
|
||||||
|
at the root, which makes the output more compact.
|
||||||
|
* Updated documentation on the bus mapping mode (`lspci -M').
|
||||||
|
* Thu Feb 5 2009 anicka@suse.cz
|
||||||
|
- update to 3.1.2
|
||||||
|
* Fixed another silly bug in the command-line parser of setpci.
|
||||||
|
* The configure script now sets LC_ALL to avoid being fooled by
|
||||||
|
locale-dependent behavior of `tr'.
|
||||||
|
* The command-line parser of setpci did sometimes segfault on invalid
|
||||||
|
input.
|
||||||
|
* The Cygwin backend now works on Windows Vista.
|
||||||
|
* Fixed a bug in decoding of the SR-IOV capability.
|
||||||
|
* Details of some PCIe capabilities are displayed only with -vv.
|
||||||
|
* When a BAR is reported by the OS, but not by the device (i.e.,
|
||||||
|
it is marked as [virtual] in lspci), the [disabled] flag is
|
||||||
|
suppressed, because it does not make sense in such cases.
|
||||||
|
* The source code of lspci has been split to multiple files, hopefully
|
||||||
|
making it easier to maintain.
|
||||||
|
* The library and lspci now know about physical slot names. So far,
|
||||||
|
they are provided by the sysfs back-end only.
|
||||||
|
* When a device has the VPD (Vital Product Data) capability and the
|
||||||
|
VPD data are supplied by the OS, they are decoded and printed in the
|
||||||
|
verbose mode. This currently works only on Linux with the sysfs
|
||||||
|
back-end.
|
||||||
|
* `setpci --version' now works properly.
|
||||||
|
* `setpci --dumpregs' prints a table of all known names of
|
||||||
|
registers and capabilities. This replaces the table of registers
|
||||||
|
in the setpci man page.
|
||||||
|
* The dry-run mode of setpci gives better feedback.
|
||||||
|
* The setpci utility is now able to address registers stored in PCI
|
||||||
|
capabilities (actually it allows a more general form of relative
|
||||||
|
addressing).
|
||||||
|
* The library has gained functions for working with PCI capabilities.
|
||||||
|
* Address Translation Services capability is now decoded.
|
||||||
|
* `lspci -k' now displays the subsystem ID, too. This makes `-k'
|
||||||
|
show everything needed to identify the device and the available
|
||||||
|
drivers, which was called for by many users.
|
||||||
|
* Fixed spelling of MSI.
|
||||||
|
* Better support for cross-compilation.
|
||||||
|
* Fixed printing of the AER capability.
|
||||||
|
* HT 1.02 capabilities are decoded as HT 1.03.
|
||||||
|
* Fixed Cygwin build.
|
||||||
|
* Fixed a minor bug in the configure script, which caused warnings
|
||||||
|
about redefinition of symbols during compilation.
|
||||||
|
* Wed Jan 7 2009 olh@suse.de
|
||||||
|
- obsolete old -XXbit packages (bnc#437293)
|
||||||
|
* Thu Sep 11 2008 anicka@suse.cz
|
||||||
|
- update to 3.0.1
|
||||||
|
* Added a Cygwin port.
|
||||||
|
* Worked around compatibility problems with various default
|
||||||
|
settings of wget
|
||||||
|
* Fixed printing of MSI capabilities.
|
||||||
|
* Added decoding of several PCI-X capabilities: device/link/slot 2,
|
||||||
|
Advanced Error Reporting, Access Control Services, Alternative
|
||||||
|
Routing-ID, Single Root I/O Virtualization.
|
||||||
|
* Fixed bug in filters which caused them to refuse
|
||||||
|
vendor/device ID 0xffff.
|
||||||
|
* Fixed several build problems: builds without PCI_USE_DNS
|
||||||
|
on Linux and with PCI_USE_DNS on Solaris and *BSD. Static
|
||||||
|
library mode also compiles again on old versions of GCC.
|
||||||
|
* Fri Apr 11 2008 mrueckert@suse.de
|
||||||
|
- move shared libs to /%%{_lib}
|
||||||
|
- added pciutils-3.0.0_pkgconfig.patch:
|
||||||
|
clean up the pkgconfig file so we can include it
|
||||||
|
- package the pkgconfig file
|
||||||
|
* Thu Apr 10 2008 mrueckert@suse.de
|
||||||
|
- if we no longer provide the static lib we should at least provide
|
||||||
|
the symlink to link against libpci
|
||||||
|
* Thu Apr 10 2008 anicka@suse.cz
|
||||||
|
- update to 3.0.0
|
||||||
|
* The makefile system has been reworked. All configuration
|
||||||
|
settings are now passed to the configure script in environment
|
||||||
|
variables, allowing for easy tweaking in the top-level Makefile.
|
||||||
|
All control knobs are now described in the README.
|
||||||
|
* The libpci can be built as a shared library with properly
|
||||||
|
restricted symbol exports. Use `make SHARED=yes' to enable that
|
||||||
|
or `make SHARED=local' for a local testing build (with hardwired
|
||||||
|
paths to the library, so that it does not need installation).
|
||||||
|
* Support for resolving of PCI ID's using DNS together with a local
|
||||||
|
cache of resolved entries has been added. See the `-q' and `-Q'
|
||||||
|
options of lspci.
|
||||||
|
* The library now has a generic system of settable parameters, which
|
||||||
|
also include settings of the DNS resolver and cache. An `-O'
|
||||||
|
option has been added to lspci and setpci to allow setting
|
||||||
|
of these options.
|
||||||
|
* Configuration of the access methods are now specified by the new
|
||||||
|
parameter system, replacing the pci_access->method_params array.
|
||||||
|
* Access methods now also have sensible names and help texts and it
|
||||||
|
is possible to look up method ID by a name.
|
||||||
|
* An `-A' switch has been added to both lspci and setpci, allowing
|
||||||
|
to select an arbitrary access method. The `-P' switch (configure
|
||||||
|
proc backend) has been removed as it is no longer needed
|
||||||
|
and I do not know any its user.
|
||||||
|
* Several source files have been split for better maintainability
|
||||||
|
(most notably the resolving of ID's).
|
||||||
|
* Man pages and help texts have been updated. A new man page
|
||||||
|
`pcilib(7)' has been added and description of library options
|
||||||
|
has been moved there.
|
||||||
|
* When an unknown device ID is encountered, we print `Device <id>'
|
||||||
|
instead of `Unknown device <id>'. It uses less space and it also
|
||||||
|
should reduce the number of inexperienced users complaining that
|
||||||
|
the device is not supported by the OS. To lookup up OS drivers,
|
||||||
|
use the `-k' option.
|
||||||
|
* Makefile: stripping of the binaries during installation can be
|
||||||
|
overridden by the STRIP variable.
|
||||||
|
* lib/types.h: We use the integer types from <stdint.h> if the
|
||||||
|
compiler claims C99 support.
|
||||||
|
- remove strip patch
|
||||||
|
* Thu Apr 10 2008 ro@suse.de
|
||||||
|
- added baselibs.conf file to build xxbit packages
|
||||||
|
for multilib support
|
||||||
|
* Wed Apr 9 2008 anicka@suse.cz
|
||||||
|
- update to 2.2.10
|
||||||
|
* lspci.c, setpci.c: Cleaned up the list of options.
|
||||||
|
* lib/names.c: Fix displaying of errors reported by zlib.
|
||||||
|
Previously, the buffer containing the error message had
|
||||||
|
been deallocated by gzclose() before the message was printed.
|
||||||
|
* update-pciids.sh: Added quiet mode (-q). Clean up uncompressed
|
||||||
|
files left by previous versions of the pciutils.
|
||||||
|
* update-pciids.man: Mention the -q switch.
|
||||||
|
* lib/dump.c: Squashed compiler warnings about code with
|
||||||
|
no effect (there really were surplus *'s).
|
||||||
|
* Tue Nov 6 2007 anicka@suse.cz
|
||||||
|
- update to 2.2.9
|
||||||
|
* lspci.c: Added a new switch `-k' which requests printing
|
||||||
|
of information on kernel drivers attached to each device
|
||||||
|
and on kernel modules reporting the ability to handle the
|
||||||
|
device.
|
||||||
|
* Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS.
|
||||||
|
Also added an explicit pattern rule for linking to make sure
|
||||||
|
that LDLIBS is used on all platforms.
|
||||||
|
* pci.ids: Revised class codes to match Conventional PCI 3.0
|
||||||
|
specs.
|
||||||
|
* lspci.c: Decode the Debug port capability (per EHCI 0.96 spec).
|
||||||
|
* lspci.c: Big code cleanup: re-arranged functions in the code,
|
||||||
|
renamed everything related to capabilities to cap_* and
|
||||||
|
all options except verbose to opt_*.
|
||||||
|
* Capability loop detection introduced 2.2.7 did not work
|
||||||
|
properly with extended capabilities. Fixed.
|
||||||
|
* Wed Oct 24 2007 anicka@suse.cz
|
||||||
|
- drop the patch backporting upstream bug in
|
||||||
|
a machine readable output [#330533]
|
||||||
|
- fix typo in show_ext_caps in lspci
|
||||||
|
* Fri Oct 5 2007 anicka@suse.cz
|
||||||
|
- update to 2.2.7
|
||||||
|
* lspci.c (show_caps, show_ext_caps): Detect and report loops in
|
||||||
|
capability lists.
|
||||||
|
* lspci.c, lib/header.h: Finished decoding of the PCI Express
|
||||||
|
capability. The extended capabilities remain undecoded for now,
|
||||||
|
but at least the list of them has been updated to reflect the
|
||||||
|
current PCI Express 2.0 spec.
|
||||||
|
* lspci.c, lib/header.h: Decode new bits of traditional registers
|
||||||
|
as defined by PCIE / PCI-X. This includes discard timers in
|
||||||
|
the bridge control register and INTx enable/status in device
|
||||||
|
control/status registers.
|
||||||
|
* Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to
|
||||||
|
allow cross-compilation.
|
||||||
|
* lspci.c (show_ht): Added decoding of Hypertransport MSI
|
||||||
|
mapping capability
|
||||||
|
* tests/cap-MSI-mapping: Added a test case.
|
||||||
|
* Tue Jul 3 2007 anicka@suse.cz
|
||||||
|
- update to 2.2.6
|
||||||
|
* Makefile: Added an "install-lib" target.
|
||||||
|
* Makefile, lib/Makefile: Generate and install pkg-config file
|
||||||
|
for libpci.
|
||||||
|
* lib/i386-io-hurd.h: Rewritten for new Hurd kernels.
|
||||||
|
* Fri May 4 2007 anicka@suse.cz
|
||||||
|
- update to 2.2.5
|
||||||
|
* pci.ids: Updated to the current snapshot of the database.
|
||||||
|
* lspci.c (show_express): Added PCI/PCI-X to PCI-Express
|
||||||
|
Bridge type.
|
||||||
|
* pci.ids: Updated to the current snapshot of the database.
|
||||||
|
* Replaced bzero() by memset() everywhere, it's better to lose
|
||||||
|
a tiny bit of readability than maintain hacks to make it work
|
||||||
|
on various systems.
|
||||||
|
* lib/configure: tr on Solaris is a bit weird and it requires
|
||||||
|
`[A-Z]' instead of `A-Z'. Fortunately, the extra brackets
|
||||||
|
don't hurt otherwise.
|
||||||
|
* lib/types.h, lib/configure: Solaris should use <stdint.h>
|
||||||
|
to get precise integer types.
|
||||||
|
* lspci.c: alloca() needs <alloca.h>.
|
||||||
|
* lib/dump.c: Fixed a couple of bugs in the dump backend which
|
||||||
|
caused devices with domains or with extended config space
|
||||||
|
to be read incorrectly. Also, dumps with partial lines are
|
||||||
|
allowed now.
|
||||||
|
* lspci.c (scan_device): If an error occurs when reading the
|
||||||
|
standard config header of a device, report it and ignore the
|
||||||
|
device and return with exit code 2 at the end.
|
||||||
|
- remove noabort.diff (implemented by upstream)
|
||||||
|
* Thu Mar 29 2007 rguenther@suse.de
|
||||||
|
- add zlib-devel BuildRequires
|
||||||
|
- require zlib-devel from pciutils-devel package
|
||||||
|
* Mon Jan 29 2007 anicka@suse.cz
|
||||||
|
- change dependency from python to perl in update-pciids [#221276]
|
||||||
|
* Sat Jan 20 2007 garloff@suse.de
|
||||||
|
- Change update-pciids to download to pci.ids.d/pci.ids.dist
|
||||||
|
and call merge-pciids if possible. [FATE 301145, bug 221276]
|
||||||
|
* Fri Oct 13 2006 aj@suse.de
|
||||||
|
- Fix to build (remove pci.ids.gz as well).
|
||||||
|
* Fri Oct 13 2006 mjancar@suse.cz
|
||||||
|
- update to 2.2.4
|
||||||
|
* many bugfixes and cleanups
|
||||||
|
- branch separate package for pci.ids
|
||||||
|
* Mon May 22 2006 schwab@suse.de
|
||||||
|
- Don't strip binaries.
|
||||||
|
* Wed Mar 22 2006 kukuk@suse.de
|
||||||
|
- Remove pciids-suse patch (has to be fixed upstream)
|
||||||
|
* Wed Mar 22 2006 kukuk@suse.de
|
||||||
|
- Auto-Update pci.ids
|
||||||
|
* Wed Jan 25 2006 mls@suse.de
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
* Fri Jan 20 2006 mjancar@suse.cz
|
||||||
|
- update pci.ids (#144200)
|
||||||
|
* Fri Jan 13 2006 mjancar@suse.cz
|
||||||
|
- reintroduce "Class" printed in numeric output (#143042)
|
||||||
|
* Mon Dec 19 2005 mjancar@suse.cz
|
||||||
|
- update to 2.2.1
|
||||||
|
* Fri Aug 26 2005 mjancar@suse.cz
|
||||||
|
- add types.h to pciutils-devel (#113294)
|
||||||
|
* Wed Aug 24 2005 mjancar@suse.cz
|
||||||
|
- update to 2.1.99-test9 (#98896)
|
||||||
|
- update pci.ids (#104381)
|
||||||
|
* Mon Mar 14 2005 mjancar@suse.cz
|
||||||
|
- fix non-ascii characters in pci.ids (#72345)
|
||||||
|
* Sat Mar 5 2005 schwab@suse.de
|
||||||
|
- Fix syntax error in pci.ids.
|
||||||
|
* Tue Feb 22 2005 mjancar@suse.cz
|
||||||
|
- fix sysfs parsing (#63326)
|
||||||
|
- update pci.ids
|
||||||
|
* Fri Sep 17 2004 tcrhak@suse.cz
|
||||||
|
- updated pci.ids to the latest snapshot (fixes bug #45370)
|
||||||
|
* Thu May 27 2004 tcrhak@suse.cz
|
||||||
|
- changed "SGI IO9/IO10 Gigabit Ethernet (Copper)"
|
||||||
|
to "SGI IO9/IO10 Gigabit Ethernet (Copper)" (bug #40175)
|
||||||
|
* Wed Apr 28 2004 tcrhak@suse.cz
|
||||||
|
- updated pci.ids
|
||||||
|
* Thu Mar 4 2004 tcrhak@suse.cz
|
||||||
|
- some pci.ids fixes:
|
||||||
|
* changed SubDevice of Dell Inspiron 2100 internal modem (bug #32842)
|
||||||
|
* added 1291 - Auxiliary Diva Serial Port (bug #31984)
|
||||||
|
* added PCI IDs for InfiniBand HCAs (bug #34928)
|
||||||
|
* Tue Feb 24 2004 tcrhak@suse.cz
|
||||||
|
- added support for domains to device filter (lspci -s, setpci -s)
|
||||||
|
(fixes bug #33382, patch sysfs-filter)
|
||||||
|
- updated pci.ids
|
||||||
|
* Sat Nov 29 2003 olh@suse.de
|
||||||
|
- use default owner for pciutils-devel files
|
||||||
|
* Wed Nov 5 2003 olh@suse.de
|
||||||
|
- remove pcimodules again, it doesnt do anything right
|
||||||
|
* Tue Oct 28 2003 olh@suse.de
|
||||||
|
- add patch for 2.6 /proc/bus/pci layout
|
||||||
|
http://ftp.linux.org.uk/pub/linux/willy/patches/pciutils-sysfs.diff
|
||||||
|
* Wed Oct 8 2003 tcrhak@suse.cz
|
||||||
|
- added pcimodules [bug #31953]
|
||||||
|
* Mon Aug 25 2003 tcrhak@suse.cz
|
||||||
|
- updated pci.ids to the latest version from http://pciids.sourceforge.net
|
||||||
|
* Tue Feb 18 2003 tcrhak@suse.cz
|
||||||
|
- fixed NIC PCI IDs for Compaq [bug #22795],
|
||||||
|
patch pciids.diff
|
||||||
|
- also included the diff for the latest pci.ids
|
||||||
|
into the patch
|
||||||
|
* Wed Jan 15 2003 tcrhak@suse.cz
|
||||||
|
- fixed install paths
|
||||||
|
* Mon Jan 6 2003 tcrhak@suse.cz
|
||||||
|
- update to version 2.1.11
|
||||||
|
- updated pci.ids to the latest version from http://pciids.sourceforge.net
|
||||||
|
* Tue Sep 17 2002 ro@suse.de
|
||||||
|
- removed bogus self-provides
|
||||||
|
* Fri Sep 6 2002 olh@suse.de
|
||||||
|
- update description of pcnet32 cards (#18892)
|
||||||
|
* Thu Aug 29 2002 tcrhak@suse.cz
|
||||||
|
- updated pci.ids to latest version from http://pciids.sourceforge.net
|
||||||
|
this version contains entries needed by Hammer systems (bug #17549)
|
||||||
|
* Thu Aug 8 2002 olh@suse.de
|
||||||
|
- the acenic gigabit card can be either fibre or utp
|
||||||
|
update pci.ids entry (#17502)
|
||||||
|
* Tue Jul 30 2002 tcrhak@suse.cz
|
||||||
|
- updated to version 2.1.10
|
||||||
|
- updated pci.ids to latest version from http://pciids.sourceforge.net
|
||||||
|
* Tue Mar 26 2002 tcrhak@suse.cz
|
||||||
|
- updated pci.ids to latest version from http://pciids.sourceforge.net
|
||||||
|
* Fri Jan 18 2002 tcrhak@suse.cz
|
||||||
|
- used macros %%{_lib} and %%{_libdir}
|
||||||
|
* Tue Jan 8 2002 schwab@suse.de
|
||||||
|
- Fix warnings.
|
||||||
|
* Mon Dec 17 2001 tcrhak@suse.cz
|
||||||
|
- updated pciutils to 2.1.9
|
||||||
|
- updated pci.ids to latest version from
|
||||||
|
http://pciids.sourceforge.net/
|
||||||
|
* Wed Dec 12 2001 grimmer@suse.de
|
||||||
|
- updated pci.ids to latest version from
|
||||||
|
http://pciids.sourceforge.net/
|
||||||
|
- added pci.ids.bz2 as a separate source file and removed
|
||||||
|
pci.ids.add.dif (now included upstream)
|
||||||
|
* Mon Sep 24 2001 grimmer@suse.de
|
||||||
|
- added some missing PCI IDs for LSI Logic Fibre Channel
|
||||||
|
controllers to pci.ids.add.diff
|
||||||
|
- corrected typos in pci.ids (Fiber Channel -> Fibre Channel)
|
||||||
|
- added LSI Logic Inc. to vendor ID 0x1000
|
||||||
|
* Wed Sep 19 2001 grimmer@suse.de
|
||||||
|
- added some missing PCI IDs for Compaq NICs to pci.ids.add.diff
|
||||||
|
see [#8918] for the list
|
||||||
|
* Mon Sep 10 2001 grimmer@suse.de
|
||||||
|
- corrected some Intel NIC entries upon request from Intel
|
||||||
|
- merged pci.ids.riva.diff and the Intel changes in pci.ids.add.diff
|
||||||
|
* Mon Sep 3 2001 garloff@suse.de
|
||||||
|
- Riva TnT corrections from snbarth:
|
||||||
|
* The name of Riva TnT 128 is Riva TnT.
|
||||||
|
* NVidia/SGS Joint Venture (12d2) never built TNT or later.
|
||||||
|
* Wed Aug 29 2001 grimmer@suse.de
|
||||||
|
- merged pci.ids.244ac6.diff and pci.ids.add.diff into a single
|
||||||
|
patch (again named pci.ids.add.diff) and added some more PCI IDs
|
||||||
|
collected by Dave Jones <davej@suse.de> from various sources,
|
||||||
|
including the current pciutils CVS tree.
|
||||||
|
- beautyfied the spec file a bit (added clean section and defattr
|
||||||
|
in file list)
|
||||||
|
* Mon May 21 2001 poeml@suse.de
|
||||||
|
- add -devel subpackage
|
||||||
|
* Thu May 10 2001 garloff@suse.de
|
||||||
|
- Merge pci.ids from 2.4.4ac6
|
||||||
|
- bzip2 tarball
|
||||||
|
* Thu May 3 2001 garloff@suse.de
|
||||||
|
- Also don't die on failing to read data of a normal device,
|
||||||
|
just complain loudly (and return 2 in the end)
|
||||||
|
- Updated pci.ids from linux-2.4.4 and added DFE-660.
|
||||||
|
* Wed Jan 17 2001 garloff@suse.de
|
||||||
|
- Don't die on failure to read ext. cardbus data. [#5817]
|
||||||
|
* Sun Dec 17 2000 garloff@suse.de
|
||||||
|
- Added pci.ids from linux-2.4.0-test12
|
||||||
|
- Added pci.ids floating around (lkml, RH)
|
||||||
|
- Added pci.ids for i820, ICH2/-M
|
||||||
|
* Mon Sep 18 2000 schwab@suse.de
|
||||||
|
- Add `-Wno-format' to avoid spurious compile errors.
|
||||||
|
* Thu Aug 17 2000 ro@suse.de
|
||||||
|
- cleanup srcdir
|
||||||
|
* Sun Jun 11 2000 olh@suse.de
|
||||||
|
- update to 2.1.8
|
||||||
|
* Mon Jan 24 2000 aj@suse.de
|
||||||
|
- update to 2.1.4, fix build problems with latest glibc, use patch
|
||||||
|
for make file from Martin Mares.
|
||||||
|
* Thu Jan 20 2000 aj@suse.de
|
||||||
|
- update to 2.1.3, /usr/man -> /usr/share/man
|
||||||
|
* Tue Jan 4 2000 ro@suse.de
|
||||||
|
- update to 2.1.2
|
||||||
|
* Mon Oct 25 1999 ro@suse.de
|
||||||
|
- fixed to compile on axp
|
||||||
|
* Sat Oct 23 1999 ro@suse.de
|
||||||
|
- update to 2.1pre8 / using Buildroot
|
||||||
|
* Mon Sep 13 1999 bs@suse.de
|
||||||
|
- ran old prepare_spec on spec file to switch to new prepare_spec.
|
||||||
|
* Thu May 20 1999 ro@suse.de
|
||||||
|
- update to 2.0
|
||||||
|
* Wed Mar 31 1999 bs@suse.de
|
||||||
|
- don't use lx_hack for build
|
||||||
|
* Mon Feb 22 1999 ro@suse.de
|
||||||
|
- update to 1.10
|
||||||
|
* Wed Nov 25 1998 ro@suse.de
|
||||||
|
- created package, version 1.08
|
85
pciutils.keyring
Normal file
85
pciutils.keyring
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQINBE6NbZkBEADDNlHfaQgjgydzX3KxB7u5ZNiMFQ9fMxs7alOUVuRJHzIMLVFT
|
||||||
|
d+4ShrXsFOWrq3LQTKcS03YfRbxgBqEubeuqKo1MebyxtnTtvTddfq2gMC7QBwHn
|
||||||
|
//yl+oFXzSsubLqbFoSJLzUgXhrrqoc+VwlLJMnShtX3JRqoSIt/K5ZGerK37XaZ
|
||||||
|
nD6ylF+pEQQF0u4qY5cNtIwhElw/hkJVk8bVS6+fTZtr/uBrPOhRtuws5DoG9pDV
|
||||||
|
vo8n1fpNbDFpfnA5e3fAJv9U1aq4R2kA5FPZzRFJ4hH1vsnYb+varxcQY5i1/NFw
|
||||||
|
qUs8YpHxRiaVK4gC6IXlvvQosYTOmgiUljV/Tvx/4ekpPhmpCCqbbAPsio3NQo4Y
|
||||||
|
jc/3v1CrWhlQejdXZLHLmPVhVVWxH9YJEKVH9aAc/pgs3OP1FrSnSHYS/LbdAAVR
|
||||||
|
b2veVkwXcZ4wlZEVGJsHf64fW3SaZWBSqvDU4zH92CCnnDwOS2n+brI4/1g8bf0m
|
||||||
|
5pGkRSmvQQVyvwwgC5r5hAT4ELXTvBa5LoGXrXCRd0AsB4Qbeng/eJBkKmwNfrxf
|
||||||
|
Ait/MDRZMqBQheSH1IZKKzyVnalnmCPZM1DVw35fthO6ODzuRpbNfEMdT9OdnUKI
|
||||||
|
Vf83HPwcRdz7zFpqDuP/lzBMuld547pg8fv5JVdo+juBmek598nl+GnfxQARAQAB
|
||||||
|
tBhNYXJ0aW4gTWFyZXMgPG1qQHVjdy5jej6JAj4EEwECACgFAk6NbZkCGwMFCRLM
|
||||||
|
AwAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEMKOeEftcPgtnU0P/jZG/8EC
|
||||||
|
hx+sle+Y8uSgGo/ReO/MbNxY0kvXqC25pL4oW/G8BN1T1CGOd2PITUcLjpiqlpnH
|
||||||
|
AM/OOpUb2P1LVOACAjlmu3UMD1Dr2MjXpV0hy6xBPLQiHKcn+PFoYx2HEOB9R5zb
|
||||||
|
G00ZDrxYkylMEBiJcQ2a8ym2p+JH+/mN4VFfWtCCyL0eCUYHKR9u6JiG9/8F43s6
|
||||||
|
hLmSN63YYOlxBT7e87sYAoHgAB+2O58qipeBy8CUThMCX48LsxCrHIQOEAaa36gd
|
||||||
|
S078xFnZihMH6WeUlJY1NSPL3v/6BW4A/D9MpSJ7IblgT8i/MT7vlyjMELrSWtBT
|
||||||
|
XLSHXWuIa3yjN6BMrU/xD9UhRl/eLFvyGkzYwbeOzL+r13UCftcERXzFTRtOCPNK
|
||||||
|
CAGF0ln07dda2686splIKyQHjj35MJltyWiUpTy/QmjAiPrbTqYyD8giZrSu9uO+
|
||||||
|
XFX1Y/eP18lmyfToR15eS4GngWp1jt0CAHglv1Ana3uhGyOPkEK+a4zrwJDp/y+t
|
||||||
|
LVWbIWU66SxsYCqRT/Sl1Ig6QNMf3PVEOnp1JjI7J1w/KOxRFZi7Ub5x4dAaaXnU
|
||||||
|
t0Ts9jiX6fGloxZXJeltKhuIFolnwwhWj2knWr9g3+gDPWtvK73AuPexz1cIKVFC
|
||||||
|
hUhfDhOHzXkKmEmghmFV/ikDDPDKNIo9BsAv0cNyw3ABEAABAQAAAAAAAAAAAAAA
|
||||||
|
AP/Y/+AAEEpGSUYAAQEBAEcARwAA/+EAFkV4aWYAAE1NACoAAAAIAAAAAAAA/9sA
|
||||||
|
QwAPCwwNDAoPDQwNERAPEhcmGRcVFRcvIiQcJjgxOzo3MTY1PUVYSz1BVEI1Nk1p
|
||||||
|
TlRbXmNkYzxKbHRsYHNYYWNf/9sAQwEQEREXFBctGRktXz82P19fX19fX19fX19f
|
||||||
|
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f/8AAEQgASAA5
|
||||||
|
AwEiAAIRAQMRAf/EABsAAAEFAQEAAAAAAAAAAAAAAAUAAgMEBgEH/8QAMBAAAQQB
|
||||||
|
AwMBBgUFAAAAAAAAAQACAwQRBRIhBjFRQRQiMnGBkRMjQlJhJFOhsfH/xAAYAQAD
|
||||||
|
AQEAAAAAAAAAAAAAAAACAwQBAP/EAB8RAAICAgMBAQEAAAAAAAAAAAABAgMRIRIx
|
||||||
|
QRMiQv/aAAwDAQACEQMRAD8A26qXdQr0Wgzv257Dym6rcFKjJN+vGGfNYuGne1ab
|
||||||
|
eXOdk/E8onoFJvoM2OppCHGvEwN9C45Kps6puAncIyP5anHpW4PhnjI8cpj+mboH
|
||||||
|
eMoeSD+bCtLqiCQ7bUZjP7m8hH4pWTRtkjdua4ZBWJPT1qNpLsfRO02/Np1h0YcS
|
||||||
|
B8TD6ruSfRzhJdm3XVDWnjswtmiOWu/wploJnOqnf09eLPLn5+3/AFENNiZFUjDB
|
||||||
|
+kIf1U0GGufUPIz9FZda9mjjZnHujHGSl2vofQsphZpXSUAravK+faRvjJxu24wi
|
||||||
|
F+66rCHNbuJ7BL5DPm8lt+CDwsP1AwQagHs4J5Wgr6tvyJXNDgcEbSMIX1NFubDY
|
||||||
|
aODwVsH+jJxxBhnpmVsunHaeQ7kIys30hDIyrPK74HuAb9O/+1pE8kBWt1DaqN24
|
||||||
|
zG8O58dirJhZI0AgcdlNM3fE5nkKpFOTGCPCXb4UUe4OmtHEnysa4Dd4VWeY7Msd
|
||||||
|
7/kqB1ydzm79rWjvyOVOVpMIx1IhzgOyqeuVvxqDmNblwIIAUsdpu/DHA+QDldkm
|
||||||
|
3SRsHdzgEcXvQuSfp3QoXwaZHHI3a4E5BH8okmMbtaGj0GE5VEBGSgz3GvO6N3Yn
|
||||||
|
j5FR2uoa0YIgBld6HsEHqG3qJmszTOyOGD0yssScdh0yaloONhrveXFgyD3U+yF3
|
||||||
|
umNp+iAVtTNeQsnBBBRE6vAPf3BSuLRdGaZec6OIgNaGp1JglnMp5DOB80Aluvuz
|
||||||
|
iOD1PdWzqZ0mdkBb+JG5oJ5wc5PKZXHD2JulmLwabK6h9PVadvAjlDX/ALXcFXsq
|
||||||
|
jBFk8xJ4RnRbkcbDA/3STkHykkhmsoOttSJtRpNn/MZgOQn2KQu25SSSVJoqlFNh
|
||||||
|
esK+mVy+V43H7lA7lt9uy6U8Z4A8BJJHWvRNz/nwja8hwOcKx7TL/cd90kk0Qf/Z
|
||||||
|
iQI+BBMBAgAoBQJOjXDrAhsDBQkSzAMABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIX
|
||||||
|
gAAKCRDCjnhH7XD4Lc4ZD/9a+pzpNDpAcT1UvTDPWtCcZJn6TOpF9TZq5SjAPGtk
|
||||||
|
Qj+ZEWWcU0U/WT3rxM3v96Ggc9cnt0pNCkNn0wvawRHdXPhyfL2vFRPzrmf6qHHe
|
||||||
|
V2DeteeDb8P+leGj0I/kTpFwB2VmDDJgbCQKp6kbrbdstSFgAxEV+K/MaFFwn/+y
|
||||||
|
lf1gJc8sPZt2pQK3pZXNYEEQk8fhMtxOW52m3NToHD/cDcgR7Bj6zjHytLM8OmRT
|
||||||
|
CJ9BF7S3v0WsGdCP5l+8Qgw/n4MMuJuZBhnditQkwWaMVxBXNXl5dLRWNXvdVU1b
|
||||||
|
v4UBTBDh5yH3k9IuBHkP6MgYCSawSTF7lNo6PagJbXmcguB5rIdNKBYxpKzSRg6m
|
||||||
|
/nk7wvo8iDMut9es2Sq6RqtDd8OIET/sVnHf8p9k5ScsZqrKik3OiStBTTMcwRJJ
|
||||||
|
/yaXc2DhZfNj/jHuCjuSJyOMght0JlWCGNFaStbNs52qASq30fA6iwK3ZYs8nh8B
|
||||||
|
ljcq0jgSX0MaBquefUXfJXWu0RSN4Uu+HiP4VSpJSkhR/5nyNJzsfQICiSh5//5r
|
||||||
|
ZAL7Ms7iNdGYxa2N8YZB9Gy+e6DLMwAQ6Si8XLxXqd0H845rFJPvuW3dfBALgRW9
|
||||||
|
2knc028XyKwCMkes72Vm8tymDpfync0eCynT1u9QRyUvpcBxxykAFJIQrzl/WIB8
|
||||||
|
0LkCDQROjW2ZARAAthEcWyScUsycsMHHtdvjhCi8/gq1LP61tnXeX1LgP3kcoM7H
|
||||||
|
TjwVH9fNL7WDw/4VjYqpGCIu8/iw4ay06dCsPMvw4cQfKlSDMnBBgw/+AaUxfR5r
|
||||||
|
OPdH710lYPsKGzYd14EH6sWzFb/3FtcfsMUqLNC+672EGrgAQmLGYeMQL/uYBOQq
|
||||||
|
pWbUVVe/+IQPGF2xGCzYr/vQ5bNC+U0Mf6d7E2nGy1jTyVLfKrA1XtVCwF1L6siX
|
||||||
|
1BpXsWSBV6Bpj1mnUFK57rbJn7g4nNIyKkiYu4r44NRcyWjF07iMdSuri/BakM7L
|
||||||
|
Mk9U31RVzsGm09lq6Gzb8SUeQxrC55aG9XcKWHDaHA4dkeUMrdCruTnByhO5jAhL
|
||||||
|
aRjv1HLah6V8fTst/wCW4ZLWyBaRfyejVxRgymChkH7Hhoclg0eEp3Wc3hHtYZjF
|
||||||
|
/WggWUuyReN+dei5BT3RX0S5ITxEpDu9MblBPcHYj4QvkiH/9zcDIH79FOgLc6AF
|
||||||
|
iZVkoSurWddLLqNwASUhw2YDMIvYuieR3NyN0alKA7cex3qb7VDvUwi76GBk5EEv
|
||||||
|
rldhMyfBt5B+P8Yiyh0YFlYE1TyhhsBphYgZeXSYsjF4DafgmF+DDYkh6Pls0wY2
|
||||||
|
tP58ho2Ey272Gb9vty60lEE7b0VkjJ96IlquehbFJuGT3DT/kEgRUDdYx0EAEQEA
|
||||||
|
AYkCJQQYAQIADwUCTo1tmQIbDAUJEswDAAAKCRDCjnhH7XD4LU5LEACSKoac0SaD
|
||||||
|
FemSHciJhgW36zTIij3JSCiOShRuBHlwaPjvrG6ysYFeA01ySUPF7zkMpbCuQ9sK
|
||||||
|
GHbNwU32iNBG9C5jPX4jtCQ3FmE12d88JGQXsDAOCGBjjZjejL7fdn+CXMd83POm
|
||||||
|
aQi/gGSZU8eAJWiQFixhEMTPMlrQ+q39aY+uEKFFUtNvWmaH5vCY+e4V1esh5GIl
|
||||||
|
5mUhg8MJUQ2T0ZHaIEq1vE5GGymmBm7eL5UxwR+5oRsCcP5VHcW9a45cmY3nzHY8
|
||||||
|
CV3+fhR8lK1D294NVeOhF12oucEdLoigb2xhO5n2DydAf18Z/8grRtJLqb5wwlsw
|
||||||
|
HGNIcLbx6k6hKwfST6IuMejxrcOLYU4TpxPqjOvLXVMqECvMyLC+SId9XHX4XON5
|
||||||
|
JqqLBtNcHXRumV23/h2n1WZf7I8BipfreJF/J5W62MwNCJJgEx/w7JgOdh7Qalf4
|
||||||
|
Z3b6KsJxv1VStE3jx7luzOh84uU8GInTYUw6oeY4BWhR79QfDO0wcw04QW6OF42E
|
||||||
|
ea5qeE00WOoW9wEXmwOqcxM87QHKRrCVmNuPY62af8YeYpI93wxoNj6vxmVVNm2D
|
||||||
|
IWikke8BplaBXCvPyWZUI1oebOEh2QCJXDtqSt8z1OPCBq9JwSrfCjWTEsnZURS3
|
||||||
|
+wy3OGqhxFrvSisPD49xVMZ8J5n0SYISHA==
|
||||||
|
=yy6O
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
102
pciutils.spec
Normal file
102
pciutils.spec
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
#
|
||||||
|
# spec file for package pciutils
|
||||||
|
#
|
||||||
|
# Copyright (c) 2022-2023 ZhuningOS
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define lname libpci3
|
||||||
|
Name: pciutils
|
||||||
|
Version: 3.5.6
|
||||||
|
Release: 150300.13.6.1
|
||||||
|
Summary: PCI utilities for the Linux Kernel
|
||||||
|
License: GPL-2.0+
|
||||||
|
Group: Hardware/Other
|
||||||
|
Url: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
|
||||||
|
Source: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.xz
|
||||||
|
Source1: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.sign
|
||||||
|
Source2: baselibs.conf
|
||||||
|
Source3: pciutils.keyring
|
||||||
|
Patch0: pciutils-3.2.0_update-dist.patch
|
||||||
|
Patch1: pciutils-3.1.9_pkgconfig.patch
|
||||||
|
Patch2: pciutils-ocloexec.patch
|
||||||
|
Patch3: pciutils-endianh.patch
|
||||||
|
Patch4: pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch
|
||||||
|
Patch5: pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
|
||||||
|
Patch6: pciutils-VPD-Cleanup.patch
|
||||||
|
# https://github.com/pciutils/pciutils/commit/e12bd01eea67ca8cf539263124843ba281eb6ecc
|
||||||
|
Patch7: pciutils-add-decode-support-for-RCECs.patch
|
||||||
|
Patch8: pciutils-Add-PCIe-5.0-data-rate-32-GT-s-support.patch
|
||||||
|
Patch9: pciutils-Add-PCIe-6.0-data-rate-64-GT-s-support.patch
|
||||||
|
Patch10: lspci-Fixed-buffer-overflows-in-ls-tree.c.patch
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: pkgconfig(libkmod)
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
Requires: pciutils-ids
|
||||||
|
|
||||||
|
%description
|
||||||
|
lspci: This program displays detailed information about all PCI busses
|
||||||
|
and devices in the system, replacing the original /proc/pci interface.
|
||||||
|
|
||||||
|
setpci: This program allows reading from and writing to PCI device
|
||||||
|
configuration registers. For example, you can adjust the latency timers
|
||||||
|
with it.
|
||||||
|
|
||||||
|
update-pciids: This program downloads the current version of the
|
||||||
|
pci.ids file.
|
||||||
|
|
||||||
|
%package -n %{lname}
|
||||||
|
Summary: PCI utility library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n %{lname}
|
||||||
|
libpci offers access to the PCI configuration space.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Library and Include Files of the PCI utilities
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{lname} = %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains the files that are necessary for software
|
||||||
|
development using the PCI utilities.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
make %{?_smp_mflags} OPT="%{optflags}" PREFIX=%{_prefix} LIBDIR=/%{_lib} SBINDIR=/sbin STRIP="" SHARED="yes"
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install PREFIX=%{buildroot}%{_prefix} SBINDIR=%{buildroot}/sbin \
|
||||||
|
ROOT=%{buildroot}/ MANDIR=%{buildroot}/%{_mandir} STRIP="" \
|
||||||
|
SHARED="yes" LIBDIR=%{buildroot}/%{_lib}
|
||||||
|
mkdir -p %{buildroot}%{_includedir}/pci
|
||||||
|
cp -p lib/{pci,header,config,types}.h %{buildroot}%{_includedir}/pci/
|
||||||
|
rm -rf %{buildroot}%{_datadir}/pci.ids*
|
||||||
|
install -D -m 0644 lib/libpci.pc %{buildroot}%{_libdir}/pkgconfig/libpci.pc
|
||||||
|
ln -sf /%{_lib}/libpci.so.3 %{buildroot}%{_libdir}/libpci.so
|
||||||
|
|
||||||
|
%post -n %{lname} -p /sbin/ldconfig
|
||||||
|
%postun -n %{lname} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc README
|
||||||
|
/sbin/lspci
|
||||||
|
/sbin/setpci
|
||||||
|
/sbin/update-pciids
|
||||||
|
%{_mandir}/man7/pcilib.7%{ext_man}
|
||||||
|
%{_mandir}/man8/lspci.8%{ext_man}
|
||||||
|
%{_mandir}/man8/setpci.8%{ext_man}
|
||||||
|
%{_mandir}/man8/update-pciids.8%{ext_man}
|
||||||
|
|
||||||
|
%files -n %{lname}
|
||||||
|
/%{_lib}/libpci.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/pci/
|
||||||
|
%{_libdir}/libpci.so
|
||||||
|
%{_libdir}/pkgconfig/libpci.pc
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Add table
Reference in a new issue