f41116
From e12bd01eea67ca8cf539263124843ba281eb6ecc Mon Sep 17 00:00:00 2001
f41116
From: Sean V Kelley <sean.v.kelley@linux.intel.com>
f41116
Date: Wed, 24 Jun 2020 15:39:40 -0700
f41116
Subject: pciutils: Add decode support for RCECs
f41116
f41116
Root Complex Event Collectors provide support for terminating error
f41116
and PME messages from RCiEPs.  This patch provides basic decoding for
f41116
the lspci RCEC Endpoint Association Extended Capability. See PCIe 5.0-1,
f41116
sec 7.9.10 for further details.
f41116
f41116
Suggested-by: Bjorn Helgaas <bhelgaas@google.com>
f41116
Signed-off-by: Sean V Kelley <sean.v.kelley@linux.intel.com>
f41116
---
f41116
 lib/header.h   |   8 +-
f41116
 ls-ecaps.c     |  59 +++++++++++-
f41116
 setpci.c       |   2 +-
f41116
 tests/cap-rcec | 299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
f41116
 4 files changed, 364 insertions(+), 4 deletions(-)
f41116
 create mode 100644 tests/cap-rcec
f41116
f41116
diff --git a/lib/header.h b/lib/header.h
f41116
index 472816e..57a9343 100644
f41116
--- a/lib/header.h
f41116
+++ b/lib/header.h
f41116
@@ -219,7 +219,7 @@
f41116
 #define PCI_EXT_CAP_ID_PB	0x04	/* Power Budgeting */
f41116
 #define PCI_EXT_CAP_ID_RCLINK	0x05	/* Root Complex Link Declaration */
f41116
 #define PCI_EXT_CAP_ID_RCILINK	0x06	/* Root Complex Internal Link Declaration */
f41116
-#define PCI_EXT_CAP_ID_RCECOLL	0x07	/* Root Complex Event Collector */
f41116
+#define PCI_EXT_CAP_ID_RCEC	0x07	/* Root Complex Event Collector */
f41116
 #define PCI_EXT_CAP_ID_MFVC	0x08	/* Multi-Function Virtual Channel */
f41116
 #define PCI_EXT_CAP_ID_VC2	0x09	/* Virtual Channel (2nd ID) */
f41116
 #define PCI_EXT_CAP_ID_RCRB	0x0a	/* Root Complex Register Block */
f41116
@@ -1048,6 +1048,12 @@
f41116
 #define  PCI_RCLINK_LINK_ADDR	8	/* Link Entry: Address (64-bit) */
f41116
 #define  PCI_RCLINK_LINK_SIZE	16	/* Link Entry: sizeof */
f41116
 
f41116
+/* Root Complex Event Collector Endpoint Association */
f41116
+#define  PCI_RCEC_EP_CAP_VER(reg)	(((reg) >> 16) & 0xf)
f41116
+#define  PCI_RCEC_BUSN_REG_VER	0x02	/* as per PCIe sec 7.9.10.1 */
f41116
+#define  PCI_RCEC_RCIEP_BMAP	0x0004	/* as per PCIe sec 7.9.10.2 */
f41116
+#define  PCI_RCEC_BUSN_REG	0x0008	/* as per PCIe sec 7.9.10.3 */
f41116
+
f41116
 /* PCIe Vendor-Specific Capability */
f41116
 #define PCI_EVNDR_HEADER	4	/* Vendor-Specific Header */
f41116
 #define PCI_EVNDR_REGISTERS	8	/* Vendor-Specific Registers */
f41116
diff --git a/ls-ecaps.c b/ls-ecaps.c
f41116
index e71209e..99c55ff 100644
f41116
--- a/ls-ecaps.c
f41116
+++ b/ls-ecaps.c
f41116
@@ -634,6 +634,61 @@ cap_rclink(struct device *d, int where)
f41116
     }
f41116
 }
f41116
 
f41116
+static void
f41116
+cap_rcec(struct device *d, int where)
f41116
+{
f41116
+  printf("Root Complex Event Collector Endpoint Association\n");
f41116
+  if (verbose < 2)
f41116
+    return;
f41116
+
f41116
+  if (!config_fetch(d, where, 12))
f41116
+    return;
f41116
+
f41116
+  u32 hdr = get_conf_long(d, where);
f41116
+  byte cap_ver = PCI_RCEC_EP_CAP_VER(hdr);
f41116
+  u32 bmap = get_conf_long(d, where + PCI_RCEC_RCIEP_BMAP);
f41116
+  printf("\t\tRCiEPBitmap: ");
f41116
+  if (bmap)
f41116
+    {
f41116
+      int prevmatched=0;
f41116
+      int adjcount=0;
f41116
+      int prevdev=0;
f41116
+      printf("RCiEP at Device(s):");
f41116
+      for (int dev=0; dev < 32; dev++)
f41116
+        {
f41116
+	  if (BITS(bmap, dev, 1))
f41116
+	    {
f41116
+	      if (!adjcount)
f41116
+	        printf("%s %u", (prevmatched) ? "," : "", dev);
f41116
+	      adjcount++;
f41116
+	      prevdev=dev;
f41116
+	      prevmatched=1;
f41116
+            }
f41116
+	  else
f41116
+	    {
f41116
+	      if (adjcount > 1)
f41116
+	        printf("-%u", prevdev);
f41116
+	      adjcount=0;
f41116
+            }
f41116
+        }
f41116
+   }
f41116
+  else
f41116
+    printf("%s", (verbose > 2) ? "00000000 [none]" : "[none]");
f41116
+  printf("\n");
f41116
+
f41116
+  if (cap_ver < PCI_RCEC_BUSN_REG_VER)
f41116
+    return;
f41116
+
f41116
+  u32 busn = get_conf_long(d, where + PCI_RCEC_BUSN_REG);
f41116
+  u8 lastbusn = BITS(busn, 16, 8);
f41116
+  u8 nextbusn = BITS(busn, 8, 8);
f41116
+
f41116
+  if ((lastbusn == 0x00) && (nextbusn == 0xff))
f41116
+    printf("\t\tAssociatedBusNumbers: %s\n", (verbose > 2) ? "ff-00 [none]" : "[none]");
f41116
+  else
f41116
+    printf("\t\tAssociatedBusNumbers: %02x-%02x\n", nextbusn, lastbusn );
f41116
+}
f41116
+
f41116
 static void
f41116
 cap_dvsec_cxl(struct device *d, int where)
f41116
 {
f41116
@@ -991,8 +1046,8 @@ show_ext_caps(struct device *d, int type)
f41116
 	  case PCI_EXT_CAP_ID_RCILINK:
f41116
 	    printf("Root Complex Internal Link \n");
f41116
 	    break;
f41116
-	  case PCI_EXT_CAP_ID_RCECOLL:
f41116
-	    printf("Root Complex Event Collector \n");
f41116
+	  case PCI_EXT_CAP_ID_RCEC:
f41116
+	    cap_rcec(d, where);
f41116
 	    break;
f41116
 	  case PCI_EXT_CAP_ID_MFVC:
f41116
 	    printf("Multi-Function Virtual Channel \n");
f41116
diff --git a/setpci.c b/setpci.c
f41116
index 90ca726..2cb70fa 100644
f41116
--- a/setpci.c
f41116
+++ b/setpci.c
f41116
@@ -350,7 +350,7 @@ static const struct reg_name pci_reg_names[] = {
f41116
   { 0x20004,	0, 0, "ECAP_PB" },
f41116
   { 0x20005,	0, 0, "ECAP_RCLINK" },
f41116
   { 0x20006,	0, 0, "ECAP_RCILINK" },
f41116
-  { 0x20007,	0, 0, "ECAP_RCECOLL" },
f41116
+  { 0x20007,	0, 0, "ECAP_RCEC" },
f41116
   { 0x20008,	0, 0, "ECAP_MFVC" },
f41116
   { 0x20009,	0, 0, "ECAP_VC2" },
f41116
   { 0x2000a,	0, 0, "ECAP_RBCB" },
f41116
diff --git a/tests/cap-rcec b/tests/cap-rcec
f41116
new file mode 100644
f41116
index 0000000..836d9a1
f41116
--- /dev/null
f41116
+++ b/tests/cap-rcec
f41116
@@ -0,0 +1,299 @@
f41116
+6a:00.4 Generic system peripheral [0807]: Intel Corporation Device 0b23
f41116
+        Subsystem: Intel Corporation Device 0000
f41116
+        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
f41116
+        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- 
f41116
+        Interrupt: pin A routed to IRQ 255
f41116
+        NUMA node: 0
f41116
+        Capabilities: [40] Express (v2) Root Complex Event Collector, MSI 00
f41116
+                DevCap: MaxPayload 512 bytes, PhantFunc 0
f41116
+                        ExtTag- RBE-
f41116
+                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq-
f41116
+                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
f41116
+                        MaxPayload 128 bytes, MaxReadReq 128 bytes
f41116
+                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
f41116
+                RootCap: CRSVisible-
f41116
+                RootCtl: ErrCorrectable+ ErrNon-Fatal+ ErrFatal+ PMEIntEna- CRSVisible-
f41116
+                RootSta: PME ReqID 0000, PMEStatus- PMEPending-
f41116
+                DevCap2: Completion Timeout: Not Supported, TimeoutDis- NROPrPrP- LTR-
f41116
+                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
f41116
+                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
f41116
+                         FRS-
f41116
+                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
f41116
+        Capabilities: [80] Power Management version 3
f41116
+                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
f41116
+                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
f41116
+        Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit-
f41116
+                Address: 00000000  Data: 0000
f41116
+                Masking: 00000000  Pending: 00000000
f41116
+        Capabilities: [100 v1] Advanced Error Reporting
f41116
+                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
f41116
+                UEMsk:  DLP- SDES+ TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
f41116
+                UESvrt: DLP+ SDES- TLP+ FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
f41116
+                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
f41116
+                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
f41116
+                AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
f41116
+                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
f41116
+                HeaderLog: 00000000 00000000 00000000 00000000
f41116
+                RootCmd: CERptEn- NFERptEn- FERptEn-
f41116
+                RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
f41116
+                         FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
f41116
+                ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
f41116
+        Capabilities: [160 v2] Root Complex Event Collector Endpoint Association
f41116
+                RCiEPBitmap: RCiEP at Device(s): 1, 6, 8-10, 12, 15
f41116
+                AssociatedBusNumbers: 02-08
f41116
+00: 86 80 23 0b 00 01 10 00 00 00 07 08 00 00 00 00
f41116
+10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 00 00
f41116
+30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00
f41116
+40: 10 80 a2 00 02 00 00 00 07 00 00 00 00 00 00 00
f41116
+50: 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 00
f41116
+60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+80: 01 90 03 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+90: 05 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d0: 31 6a 08 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+100: 01 00 01 16 00 00 00 00 20 00 10 00 10 30 46 00
f41116
+110: 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00
f41116
+120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+160: 07 00 02 00 00 00 00 00 00 ff 00 00 00 00 00 00
f41116
+170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+260: 00 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00
f41116
+270: 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00
f41116
+280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+2a0: 00 00 00 00 00 00 00 00 20 00 18 00 20 00 18 00
f41116
+2b0: 20 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+2f0: 00 20 00 00 00 20 00 00 00 20 00 00 00 e0 00 00
f41116
+300: 00 e0 00 00 00 e0 00 00 00 e0 00 00 00 e0 00 00
f41116
+310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+5f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+600: 44 00 00 00 91 00 00 00 00 00 00 00 00 00 00 00
f41116
+610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+680: 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+7f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
+ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f41116
-- 
f41116
cgit 1.2.3-1.el7
f41116