]> mj.ucw.cz Git - pciutils.git/commitdiff
Cleaned up dumping of expansion ROM regions
authorMartin Mares <mj@ucw.cz>
Wed, 22 Jan 2020 08:23:27 +0000 (09:23 +0100)
committerMartin Mares <mj@ucw.cz>
Wed, 22 Jan 2020 08:23:27 +0000 (09:23 +0100)
"[virtual]" and "[enhanced]" are now printed after the base address
along with other flags.

lspci.c

diff --git a/lspci.c b/lspci.c
index 9ac164de16d7a66e2e03b3a384b56fd5c2d2b0c6..4e6196e2277332c747d123915011c62098ad6eb0 100644 (file)
--- a/lspci.c
+++ b/lspci.c
@@ -506,26 +506,32 @@ show_rom(struct device *d, int reg)
 
   if (!rom && !flg && !len)
     return;
-  putchar('\t');
-  if (ioflg & PCI_IORESOURCE_PCI_EA_BEI)
-      printf("[enhanced] ");
-  else if ((rom & PCI_ROM_ADDRESS_MASK) && !(flg & PCI_ROM_ADDRESS_MASK))
+
+  if ((rom & PCI_ROM_ADDRESS_MASK) && !(flg & PCI_ROM_ADDRESS_MASK) && !(ioflg & PCI_IORESOURCE_PCI_EA_BEI))
     {
-      printf("[virtual] ");
       flg = rom;
       virtual = 1;
     }
-  printf("Expansion ROM at ");
+
+  printf("\tExpansion ROM at ");
   if (rom & PCI_ROM_ADDRESS_MASK)
     printf(PCIADDR_T_FMT, rom & PCI_ROM_ADDRESS_MASK);
   else if (flg & PCI_ROM_ADDRESS_MASK)
     printf("<ignored>");
   else
     printf("<unassigned>");
+
+  if (virtual)
+    printf(" [virtual]");
+
   if (!(flg & PCI_ROM_ADDRESS_ENABLE))
     printf(" [disabled]");
   else if (!virtual && !(cmd & PCI_COMMAND_MEMORY))
     printf(" [disabled by cmd]");
+
+  if (ioflg & PCI_IORESOURCE_PCI_EA_BEI)
+      printf(" [enhanced]");
+
   show_size(len);
   putchar('\n');
 }