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, &reg) != 0 ||
>                   pci_readmask(bus, dev, func, bar, &reg1) != 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, &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, &reg) != 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, &reg) != 0)
>               warn("unable to read PCI_PRIBUS_1");
> 

ok mlarkin

Reply via email to