Compare commits

...

1 Commits
c8 ... c10-beta

Author SHA1 Message Date
35055aa43d import RHEL 10 Beta pciutils-3.13.0-1.el10 2024-11-20 13:46:28 +00:00
10 changed files with 173 additions and 528 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/pciutils-3.7.0.tar.xz pciutils-3.13.0.tar.xz

View File

@ -1 +0,0 @@
f7d6860ffe405b4ebb23b013866a64c9f80c2fa3 SOURCES/pciutils-3.7.0.tar.xz

View File

@ -1,11 +0,0 @@
diff -up pciutils-3.5.6/lspci.c.freefix pciutils-3.5.6/lspci.c
--- pciutils-3.5.6/lspci.c.freefix 2018-08-21 16:52:35.087706662 +0200
+++ pciutils-3.5.6/lspci.c 2018-08-21 16:52:35.124706469 +0200
@@ -128,6 +128,7 @@ scan_device(struct pci_dev *p)
fprintf(stderr, "lspci: Unable to read the standard configuration space header of device %04x:%02x:%02x.%d\n",
p->domain, p->bus, p->dev, p->func);
seen_errors++;
+ free(d);
return NULL;
}
if ((d->config[PCI_HEADER_TYPE] & 0x7f) == PCI_HEADER_TYPE_CARDBUS)

View File

@ -1,444 +0,0 @@
From e12bd01eea67ca8cf539263124843ba281eb6ecc Mon Sep 17 00:00:00 2001
From: Sean V Kelley <sean.v.kelley@linux.intel.com>
Date: Wed, 24 Jun 2020 15:39:40 -0700
Subject: pciutils: Add decode support for RCECs
Root Complex Event Collectors provide support for terminating error
and PME messages from RCiEPs. This patch provides basic decoding for
the lspci RCEC Endpoint Association Extended Capability. See PCIe 5.0-1,
sec 7.9.10 for further details.
Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sean V Kelley <sean.v.kelley@linux.intel.com>
---
lib/header.h | 8 +-
ls-ecaps.c | 59 +++++++++++-
setpci.c | 2 +-
tests/cap-rcec | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 364 insertions(+), 4 deletions(-)
create mode 100644 tests/cap-rcec
diff --git a/lib/header.h b/lib/header.h
index 472816e..57a9343 100644
--- a/lib/header.h
+++ b/lib/header.h
@@ -219,7 +219,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_RCRB 0x0a /* Root Complex Register Block */
@@ -1048,6 +1048,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 */
diff --git a/ls-ecaps.c b/ls-ecaps.c
index e71209e..99c55ff 100644
--- a/ls-ecaps.c
+++ b/ls-ecaps.c
@@ -634,6 +634,61 @@ cap_rclink(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_dvsec_cxl(struct device *d, int where)
{
@@ -991,8 +1046,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");
diff --git a/setpci.c b/setpci.c
index 90ca726..2cb70fa 100644
--- a/setpci.c
+++ b/setpci.c
@@ -350,7 +350,7 @@ static const struct reg_name pci_reg_names[] = {
{ 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" },
{ 0x20009, 0, 0, "ECAP_VC2" },
{ 0x2000a, 0, 0, "ECAP_RBCB" },
diff --git a/tests/cap-rcec b/tests/cap-rcec
new file mode 100644
index 0000000..836d9a1
--- /dev/null
+++ b/tests/cap-rcec
@@ -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
--
cgit 1.2.3-1.el7

50
libpci_symbols.lst Normal file
View File

@ -0,0 +1,50 @@
pci_alloc@LIBPCI_3.0
pci_cleanup@LIBPCI_3.0
pci_fill_info@LIBPCI_3.0
pci_fill_info@LIBPCI_3.1
pci_fill_info@LIBPCI_3.13
pci_fill_info@LIBPCI_3.2
pci_fill_info@LIBPCI_3.3
pci_fill_info@LIBPCI_3.4
pci_fill_info@LIBPCI_3.5
pci_fill_info@LIBPCI_3.8
pci_filter_init@LIBPCI_3.0
pci_filter_init@LIBPCI_3.3
pci_filter_init@LIBPCI_3.8
pci_filter_match@LIBPCI_3.0
pci_filter_match@LIBPCI_3.3
pci_filter_match@LIBPCI_3.8
pci_filter_parse_id@LIBPCI_3.0
pci_filter_parse_id@LIBPCI_3.3
pci_filter_parse_id@LIBPCI_3.8
pci_filter_parse_slot@LIBPCI_3.0
pci_filter_parse_slot@LIBPCI_3.3
pci_filter_parse_slot@LIBPCI_3.8
pci_find_cap@LIBPCI_3.1
pci_find_cap_nr@LIBPCI_3.7
pci_free_dev@LIBPCI_3.0
pci_free_name_list@LIBPCI_3.0
pci_get_dev@LIBPCI_3.0
pci_get_method_name@LIBPCI_3.0
pci_get_param@LIBPCI_3.0
pci_get_string_property@LIBPCI_3.6
pci_id_cache_flush@LIBPCI_3.0
pci_init@LIBPCI_3.0
pci_init@LIBPCI_3.5
pci_load_name_list@LIBPCI_3.0
pci_lookup_method@LIBPCI_3.0
pci_lookup_name@LIBPCI_3.0
pci_read_block@LIBPCI_3.0
pci_read_byte@LIBPCI_3.0
pci_read_long@LIBPCI_3.0
pci_read_vpd@LIBPCI_3.1
pci_read_word@LIBPCI_3.0
pci_scan_bus@LIBPCI_3.0
pci_set_name_list_path@LIBPCI_3.0
pci_set_param@LIBPCI_3.0
pci_setup_cache@LIBPCI_3.0
pci_walk_params@LIBPCI_3.0
pci_write_block@LIBPCI_3.0
pci_write_byte@LIBPCI_3.0
pci_write_long@LIBPCI_3.0
pci_write_word@LIBPCI_3.0

View File

@ -1,6 +1,6 @@
#if defined(__x86_64__) || defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__s390x__) || defined(__aarch64__) || defined(__mips64) #if defined(__x86_64__) || defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__s390x__) || defined(__aarch64__) || defined(__mips64)
#include "config.lib64.h" #include "config.lib64.h"
#elif defined(__sparc__) && defined (__arch64__) #elif defined(__sparc__) && defined (__arch64__) || (defined(__riscv) && __SIZEOF_POINTER__ == 8)
#include "config.lib64.h" #include "config.lib64.h"
#elif defined(__i386__) || defined(__ppc__) || defined(__powerpc__) || defined(__s390__) || defined(__alpha__) || defined(__sparc__) || defined(__sh__) || defined(__arm__) || defined(__mips) #elif defined(__i386__) || defined(__ppc__) || defined(__powerpc__) || defined(__s390__) || defined(__alpha__) || defined(__sparc__) || defined(__sh__) || defined(__arm__) || defined(__mips)
#include "config.lib.h" #include "config.lib.h"

View File

@ -2,7 +2,7 @@ diff -up pciutils-3.0.0/Makefile.idpath pciutils-3.0.0/Makefile
--- pciutils-3.0.0/Makefile.idpath 2008-04-10 21:19:43.000000000 +0200 --- pciutils-3.0.0/Makefile.idpath 2008-04-10 21:19:43.000000000 +0200
+++ pciutils-3.0.0/Makefile 2008-09-01 15:16:19.000000000 +0200 +++ pciutils-3.0.0/Makefile 2008-09-01 15:16:19.000000000 +0200
@@ -27,7 +27,7 @@ ABI_VERSION=.3 @@ -27,7 +27,7 @@ ABI_VERSION=.3
PREFIX=/usr/local BINDIR=$(PREFIX)/bin
SBINDIR=$(PREFIX)/sbin SBINDIR=$(PREFIX)/sbin
SHAREDIR=$(PREFIX)/share SHAREDIR=$(PREFIX)/share
-IDSDIR=$(SHAREDIR) -IDSDIR=$(SHAREDIR)

View File

@ -1,8 +1,8 @@
diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c diff -up pciutils-3.11.0/lib/names-parse.c.2 pciutils-3.11.0/lib/names-parse.c
--- pciutils-3.0.0/lib/names-parse.c.dird 2008-04-10 21:15:47.000000000 +0200 --- pciutils-3.11.0/lib/names-parse.c.2 2024-02-18 01:43:33.000000000 +0100
+++ pciutils-3.0.0/lib/names-parse.c 2008-09-01 15:17:23.000000000 +0200 +++ pciutils-3.11.0/lib/names-parse.c 2024-02-26 20:12:44.682745480 +0100
@@ -6,10 +6,13 @@ @@ -8,10 +8,13 @@
* Can be freely distributed and used under the terms of the GNU GPL. * SPDX-License-Identifier: GPL-2.0-or-later
*/ */
+#define _GNU_SOURCE +#define _GNU_SOURCE
@ -15,7 +15,7 @@ diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c
#include "internal.h" #include "internal.h"
#include "names.h" #include "names.h"
@@ -82,7 +85,7 @@ static inline int id_white_p(int c) @@ -84,7 +87,7 @@ static inline int id_white_p(int c)
} }
@ -24,7 +24,7 @@ diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c
{ {
char line[MAX_LINE]; char line[MAX_LINE];
char *p; char *p;
@@ -207,7 +210,7 @@ static const char *id_parse_list(struct @@ -209,7 +212,7 @@ static const char *id_parse_list(struct
p++; p++;
if (!*p) if (!*p)
return parse_error; return parse_error;
@ -33,9 +33,9 @@ diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c
return "Duplicate entry"; return "Duplicate entry";
} }
return NULL; return NULL;
@@ -223,13 +226,14 @@ pci_load_name_list(struct pci_access *a) @@ -225,12 +228,13 @@ pci_load_name_list(struct pci_access *a)
pci_free_name_list(a); pci_free_name_list(a);
a->id_load_failed = 1; a->id_load_attempted = 1;
if (!(f = pci_open(a))) if (!(f = pci_open(a)))
- return 0; - return 0;
- err = id_parse_list(a, f, &lino); - err = id_parse_list(a, f, &lino);
@ -45,12 +45,11 @@ diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c
pci_close(f); pci_close(f);
if (err) if (err)
a->error("%s at %s, line %d\n", err, a->id_file_name, lino); a->error("%s at %s, line %d\n", err, a->id_file_name, lino);
a->id_load_failed = 0;
+ pci_new_load_name_list(a); + pci_new_load_name_list(a);
return 1; return 1;
} }
@@ -249,3 +253,49 @@ pci_set_name_list_path(struct pci_access @@ -251,3 +255,49 @@ pci_set_name_list_path(struct pci_access
a->id_file_name = name; a->id_file_name = name;
a->free_id_name = to_be_freed; a->free_id_name = to_be_freed;
} }
@ -100,10 +99,10 @@ diff -up pciutils-3.0.0/lib/names-parse.c.dird pciutils-3.0.0/lib/names-parse.c
+ closedir(pci_ids_dir); + closedir(pci_ids_dir);
+ return 1; + return 1;
+} +}
diff -up pciutils-3.0.0/lib/pci.h.dird pciutils-3.0.0/lib/pci.h diff -up pciutils-3.11.0/lib/pci.h.2 pciutils-3.11.0/lib/pci.h
--- pciutils-3.0.0/lib/pci.h.dird 2008-04-10 21:23:05.000000000 +0200 --- pciutils-3.11.0/lib/pci.h.2 2024-02-23 14:56:07.000000000 +0100
+++ pciutils-3.0.0/lib/pci.h 2008-09-01 15:17:23.000000000 +0200 +++ pciutils-3.11.0/lib/pci.h 2024-02-26 20:09:44.908200417 +0100
@@ -194,6 +194,7 @@ int pci_load_name_list(struct pci_access @@ -292,6 +292,7 @@ int pci_load_name_list(struct pci_access
void pci_free_name_list(struct pci_access *a) PCI_ABI; /* Called automatically by pci_cleanup() */ void pci_free_name_list(struct pci_access *a) PCI_ABI; /* Called automatically by pci_cleanup() */
void pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed) PCI_ABI; void pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed) PCI_ABI;
void pci_id_cache_flush(struct pci_access *a) PCI_ABI; void pci_id_cache_flush(struct pci_access *a) PCI_ABI;

View File

@ -1,28 +1,25 @@
Name: pciutils Name: pciutils
Version: 3.7.0 Version: 3.13.0
Release: 3%{?dist} Release: 1%{?dist}
Source: https://mirrors.edge.kernel.org/pub/software/utils/pciutils/%{name}-%{version}.tar.xz Summary: PCI bus related utilities
Source1: multilibconfigh License: GPL-2.0-or-later
URL: https://mj.ucw.cz/sw/pciutils/
Source0: https://www.kernel.org/pub/software/utils/pciutils/%{name}-%{version}.tar.xz
Source1: multilibconfigh
Source2: libpci_symbols.lst
#change pci.ids directory to hwdata, fedora/rhel specific #change pci.ids directory to hwdata, fedora/rhel specific
Patch1: pciutils-2.2.1-idpath.patch Patch1: pciutils-2.2.1-idpath.patch
#add support for directory with another pci.ids, rejected by upstream, rhbz#195327 #add support for directory with another pci.ids, rejected by upstream, rhbz#195327
Patch2: pciutils-dir-d.patch Patch2: pciutils-dir-d.patch
Patch4: pciutils-3.5.6-freefix.patch
# from upstream, for pciutils <= 3.7.0
Patch5: pciutils-3.7.0-decodercec.patch
License: GPLv2+
URL: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
ExclusiveOS: Linux
Requires: hwdata Requires: hwdata
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
BuildRequires: sed kmod-devel BuildRequires: gcc make sed kmod-devel
Summary: PCI bus related utilities
Group: Applications/System
Provides: /sbin/lspci /sbin/setpci Provides: /sbin/lspci /sbin/setpci
Provides: /bin/lspci
%description %description
The pciutils package contains various utilities for inspecting and The pciutils package contains various utilities for inspecting and
@ -30,8 +27,7 @@ setting devices connected to the PCI bus.
%package devel %package devel
Summary: Linux PCI development library Summary: Linux PCI development library
Group: Development/Libraries Requires: zlib-devel pkgconfig %{name}%{?_isa} = %{version}-%{release}
Requires: zlib-devel pkgconfig %{name}-libs%{?_isa} = %{version}-%{release}
%description devel %description devel
This package contains a library for inspecting and setting This package contains a library for inspecting and setting
@ -39,7 +35,6 @@ devices connected to the PCI bus.
%package libs %package libs
Summary: Linux PCI library Summary: Linux PCI library
Group: System Environment/Libraries
%description libs %description libs
This package contains a library for inspecting and setting This package contains a library for inspecting and setting
@ -47,7 +42,6 @@ devices connected to the PCI bus.
%package devel-static %package devel-static
Summary: Linux PCI static library Summary: Linux PCI static library
Group: System Environment/Libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description devel-static %description devel-static
@ -55,50 +49,44 @@ This package contains a static library for inspecting and setting
devices connected to the PCI bus. devices connected to the PCI bus.
%prep %prep
%setup -q -n pciutils-%{version} %autosetup -p1
%patch1 -p1 -b .idpath
%patch2 -p1 -b .dird
%patch4 -p1 -b .freefix
%patch5 -p1 -b .decodercec
%build %build
make SHARED="no" ZLIB="no" LIBKMOD=yes STRIP="" OPT="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" PREFIX="/usr" LIBDIR="%{_libdir}" IDSDIR="/usr/share/hwdata" PCI_IDS="pci.ids" %{?_smp_mflags} %make_build SHARED="no" ZLIB="no" LIBKMOD=yes STRIP="" OPT="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" PREFIX="/usr" LIBDIR="%{_libdir}" IDSDIR="/usr/share/hwdata" PCI_IDS="pci.ids"
mv lib/libpci.a lib/libpci.a.toinstall mv lib/libpci.a lib/libpci.a.toinstall
make clean make clean
make SHARED="yes" ZLIB="no" LIBKMOD=yes STRIP="" OPT="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" PREFIX="/usr" LIBDIR="%{_libdir}" IDSDIR="/usr/share/hwdata" PCI_IDS="pci.ids" %{?_smp_mflags} %make_build SHARED="yes" ZLIB="no" LIBKMOD=yes STRIP="" OPT="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" PREFIX="/usr" LIBDIR="%{_libdir}" IDSDIR="/usr/share/hwdata" PCI_IDS="pci.ids"
#fix lib vs. lib64 in libpci.pc (static Makefile is used)
sed -i "s|^libdir=.*$|libdir=/%{_libdir}|" lib/libpci.pc
%install %install
rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man{7,8},%{_libdir},%{_libdir}/pkgconfig,%{_includedir}/pci}
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8,%{_libdir},%{_libdir}/pkgconfig,%{_includedir}/pci}
install -p lspci setpci update-pciids $RPM_BUILD_ROOT%{_sbindir} install -p lspci setpci update-pciids $RPM_BUILD_ROOT%{_sbindir}
ln -sr $RPM_BUILD_ROOT%{_sbindir}/lspci $RPM_BUILD_ROOT%{_bindir}/lspci
install -p -m 644 lspci.8 setpci.8 update-pciids.8 $RPM_BUILD_ROOT%{_mandir}/man8 install -p -m 644 lspci.8 setpci.8 update-pciids.8 $RPM_BUILD_ROOT%{_mandir}/man8
install -p -m 644 pcilib.7 $RPM_BUILD_ROOT%{_mandir}/man7
install -p lib/libpci.so.* $RPM_BUILD_ROOT%{_libdir}/ install -p lib/libpci.so.* $RPM_BUILD_ROOT%{_libdir}/
ln -s $(basename $RPM_BUILD_ROOT%{_libdir}/*.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpci.so ln -s $(basename $RPM_BUILD_ROOT%{_libdir}/*.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpci.so
mv lib/libpci.a.toinstall lib/libpci.a mv lib/libpci.a.toinstall lib/libpci.a
install -p -m 644 lib/libpci.a $RPM_BUILD_ROOT%{_libdir} install -p -m 644 lib/libpci.a $RPM_BUILD_ROOT%{_libdir}
/sbin/ldconfig -N $RPM_BUILD_ROOT/%{_libdir} install -p -m 644 lib/pci.h $RPM_BUILD_ROOT%{_includedir}/pci
install -p lib/pci.h $RPM_BUILD_ROOT%{_includedir}/pci install -p -m 644 lib/header.h $RPM_BUILD_ROOT%{_includedir}/pci
install -p lib/header.h $RPM_BUILD_ROOT%{_includedir}/pci install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/pci/config.h
install -p %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/pci/config.h install -p -m 644 lib/config.h $RPM_BUILD_ROOT%{_includedir}/pci/config.%{_lib}.h
install -p lib/config.h $RPM_BUILD_ROOT%{_includedir}/pci/config.%{_lib}.h install -p -m 644 lib/types.h $RPM_BUILD_ROOT%{_includedir}/pci
install -p lib/types.h $RPM_BUILD_ROOT%{_includedir}/pci install -p -m 644 lib/libpci.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig
install -p lib/libpci.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig
%post libs -p /sbin/ldconfig %ldconfig_scriptlets libs
%postun libs -p /sbin/ldconfig %check
nm -gDC $RPM_BUILD_ROOT/%{_libdir}/libpci.so.%{version} | sed -n -e 's/@@/@/g' -e 's/^.* \([^ ]*@LIBPCI_.*\)$/\1/p' | sort | uniq >libpci_symbols_new.lst
diff -u %{SOURCE2} libpci_symbols_new.lst
%files %files
%doc README ChangeLog pciutils.lsm %doc README ChangeLog pciutils.lsm
%{_bindir}/lspci
%{_sbindir}/lspci %{_sbindir}/lspci
%{_sbindir}/setpci %{_sbindir}/setpci
%{_sbindir}/update-pciids %{_sbindir}/update-pciids
@ -112,31 +100,94 @@ install -p lib/libpci.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig
%{_libdir}/libpci.a %{_libdir}/libpci.a
%files devel %files devel
%defattr(0644, root, root, 0755)
%{_libdir}/pkgconfig/libpci.pc %{_libdir}/pkgconfig/libpci.pc
%{_libdir}/libpci.so %{_libdir}/libpci.so
%{_includedir}/pci %{_includedir}/pci
%{_mandir}/man7/*
%changelog %changelog
* Tue Sep 06 2022 Michal Hlavinka <mhlavink@redhat.com> - 3.7.0-3 * Tue Jun 11 2024 Michal Hlavinka <mhlavink@redhat.com> - 3.13.0-1
- fix dependency of devel subpkg on libs (#2111644) - updated to 3.13, adds support for cxl1.1 device link status information (#RHEL-29153)
- add riscv64 build support (#RHEL-40383)
* Tue Sep 06 2022 Michal Hlavinka <mhlavink@redhat.com> - 3.7.0-2 * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-5
- fix locations wrt UsrMove(#2111644) - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Sep 25 2023 Neal Gompa <ngompa@fedoraproject.org> - 3.10.0-3
- Add /usr/bin/lspci symlink to fix detection by some games (#1858437)
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 16 2023 Michal Hlavinka <mhlavink@redhat.com> - 3.10.0-1
- updated to 3.10.0
* Tue Mar 14 2023 Michal Hlavinka <mhlavink@redhat.com> - 3.9.0-4
- update license tag format (SPDX migration) for https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 15 2022 Michal Hlavinka <mhlavink@redhat.com> - 3.9.0-2
- fix gcc optimizing-out versioned symbols when -flto is used (gccbz#48200)
* Tue Nov 29 2022 Michal Hlavinka <mhlavink@redhat.com> - 3.9.0-1
- updated to 3.9.0
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Apr 20 2022 Michal Hlavinka <mhlavink@redhat.com> - 3.8.0-1
- updated to 3.8.0
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Feb 02 2021 Michal Hlavinka <mhlavink@redhat.com> - 3.7.0-3
- spec file cleanup
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Oct 30 2020 Michal Hlavinka <mhlavink@redhat.com> - 3.7.0-1 * Fri Oct 30 2020 Michal Hlavinka <mhlavink@redhat.com> - 3.7.0-1
- pciutils updated to 3.7.0, add support for basic DVSEC and CXL DVSEC (#1856436) - updated to 3.7.0
- add support for RCEC Associated Endpoint (#1856440)
* Wed May 06 2020 Michal Hlavinka <mhlavink@redhat.com> - 3.6.4-2 * Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.4-2
- rebuild package - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon May 04 2020 Michal Hlavinka <mhlavink@redhat.com> - 3.6.4-1 * Fri Feb 28 2020 Michal Hlavinka <mhlavink@redhat.com> - 3.6.4-1
- pciutils updated to 3.6.4 - pciutils updated to 3.6.4
- some of the VPD data fields were displayed as unknown (#1828741)
* Tue Oct 16 2018 Michal Hlavinka <mhlavink@redhat.com> - 3.5.6-4 * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.3-2
- fix covscan found issues (#1607017) - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jan 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> 3.6.3-1
- pciutils updated to 3.6.3
- spec cleanups, use %%license, use kernel.org download
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Aug 13 2018 Michal Hlavinka <mhlavink@redhat.com> - 3.6.2-1
- pciutils updated to 3.6.2
* Fri Jul 13 2018 Michal Hlavinka <mhlavink@redhat.com> - 3.6.1-1
- pciutils updated to 3.6.1
* Mon Jul 09 2018 Michal Hlavinka <mhlavink@redhat.com> - 3.6.0-1
- pciutils updated to 3.6.0
* Wed Mar 07 2018 Michal Hlavinka <mhlavink@redhat.com> - 3.5.6-4
- add gcc buildrequire
* Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 3.5.6-3 * Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 3.5.6-3
- Use LDFLAGS from redhat-rpm-config - Use LDFLAGS from redhat-rpm-config

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (pciutils-3.13.0.tar.xz) = 2c0a26d42a6f3b193ae0a7705344e22cf3f729b860a7cf0843e8102e4dfc3243b8112ed8fd79bd51b54773a172ab8fd75246c82b4d20add3f0773d86d4595712