Blame SOURCES/pciutils-3.7.0-decodercec.patch

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