On Sun, Apr 08, 2018 at 01:57:25PM +0200, Mark Kettenis wrote: > ok? > > Index: pcidump.c > =================================================================== > RCS file: /cvs/src/usr.sbin/pcidump/pcidump.c,v > retrieving revision 1.46 > diff -u -p -r1.46 pcidump.c > --- pcidump.c 31 Aug 2017 12:03:02 -0000 1.46 > +++ pcidump.c 8 Apr 2018 11:52:21 -0000 > @@ -455,7 +455,7 @@ dump_caplist(int bus, int dev, int func, > } > > void > -dump_type0(int bus, int dev, int func) > +dump_bars(int bus, int dev, int func, int end) > { > const char *memtype; > u_int64_t mem; > @@ -463,7 +463,7 @@ dump_type0(int bus, int dev, int func) > u_int32_t reg, reg1; > int bar; > > - for (bar = PCI_MAPREG_START; bar < PCI_MAPREG_END; bar += 0x4) { > + for (bar = PCI_MAPREG_START; bar < end; bar += 0x4) { > if (pci_read(bus, dev, func, bar, ®) != 0 || > pci_readmask(bus, dev, func, bar, ®1) != 0) > warn("unable to read PCI_MAPREG 0x%02x", bar); > @@ -519,6 +519,14 @@ dump_type0(int bus, int dev, int func) > break; > } > } > +} > + > +void > +dump_type0(int bus, int dev, int func) > +{ > + u_int32_t reg; > + > + dump_bars(bus, dev, func, PCI_MAPREG_END); > > if (pci_read(bus, dev, func, PCI_CARDBUS_CIS_REG, ®) != 0) > warn("unable to read PCI_CARDBUS_CIS_REG"); > @@ -549,13 +557,8 @@ void > dump_type1(int bus, int dev, int func) > { > u_int32_t reg; > - int bar; > > - for (bar = PCI_MAPREG_START; bar < PCI_MAPREG_PPB_END; bar += 0x4) { > - if (pci_read(bus, dev, func, bar, ®) != 0) > - warn("unable to read PCI_MAPREG 0x%02x", bar); > - printf("\t0x%04x: %08x\n", bar, reg); > - } > + dump_bars(bus, dev, func, PCI_MAPREG_PPB_END); > > if (pci_read(bus, dev, func, PCI_PRIBUS_1, ®) != 0) > warn("unable to read PCI_PRIBUS_1"); >
ok mlarkin