From e1ae0ee172568baedffe4c58148b1b2dacaa8f42 Mon Sep 17 00:00:00 2001 From: Scott Long Date: Fri, 20 Mar 2020 23:26:37 +0000 Subject: [PATCH] When printing out the contents of the VSEC, include the contents of the headers. Device documentation often times give offsets relative to the start of the entire VSEC, not just the post-header data area, so this change makes it easier to correlate offsets. --- usr.sbin/pciconf/cap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pciconf/cap.c b/usr.sbin/pciconf/cap.c index 3fce34519be..f2eaef9c874 100644 --- a/usr.sbin/pciconf/cap.c +++ b/usr.sbin/pciconf/cap.c @@ -898,13 +898,15 @@ ecap_vendor(int fd, struct pci_conf *p, uint16_t ptr, uint8_t ver) if ((ver < 1) || (cap_level <= 1)) return; for (i = 0; i < len; i += 4) { - val = read_config(fd, &p->pc_sel, ptr + PCIR_VSEC_DATA + i, 4); + val = read_config(fd, &p->pc_sel, ptr + i, 4); if ((i % 16) == 0) printf(" "); - printf("%02x %02x %02x %02x ", val & 0xff, (val >> 8) & 0xff, + printf("%02x %02x %02x %02x", val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff); if ((((i + 4) % 16) == 0 ) || ((i + 4) >= len)) printf("\n"); + else + printf(" "); } }