t1 = get_conf_long(d, where + 4);
t2 = get_conf_long(d, where + 8);
printf("Device Serial Number %02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x\n",
- t1 & 0xff, (t1 >> 8) & 0xff, (t1 >> 16) & 0xff, t1 >> 24,
- t2 & 0xff, (t2 >> 8) & 0xff, (t2 >> 16) & 0xff, t2 >> 24);
+ t2 >> 24, (t2 >> 16) & 0xff, (t2 >> 8) & 0xff, t2 & 0xff,
+ t1 >> 24, (t1 >> 16) & 0xff, (t1 >> 8) & 0xff, t1 & 0xff);
}
static void
u32 l;
printf("Advanced Error Reporting\n");
+ if (verbose < 2)
+ return;
+
if (!config_fetch(d, where + PCI_ERR_UNCOR_STATUS, 24))
return;
u16 w;
printf("Access Control Services\n");
+ if (verbose < 2)
+ return;
+
if (!config_fetch(d, where + PCI_ACS_CAP, 4))
return;
u16 w;
printf("Alternative Routing-ID Interpretation (ARI)\n");
+ if (verbose < 2)
+ return;
+
if (!config_fetch(d, where + PCI_ARI_CAP, 4))
return;
u16 w;
printf("Address Translation Service (ATS)\n");
+ if (verbose < 2)
+ return;
+
if (!config_fetch(d, where + PCI_ATS_CAP, 4))
return;
u32 l;
printf("Single Root I/O Virtualization (SR-IOV)\n");
+ if (verbose < 2)
+ return;
+
if (!config_fetch(d, where + PCI_IOV_CAP, 0x3c))
return;
printf("\t\tSupported Page Size: %08x, ", l);
l = get_conf_long(d, where + PCI_IOV_SYSPS);
printf("System Page Size: %08x\n", l);
+ l = get_conf_long(d, where + PCI_IOV_MSAO);
printf("\t\tVF Migration: offset: %08x, BIR: %x\n", PCI_IOV_MSA_OFFSET(l),
PCI_IOV_MSA_BIR(l));
}