]> xenbits.xensource.com Git - people/andrewcoop/seabios.git/commitdiff
Improve optionrom debugging statements.
authorKevin O'Connor <kevin@koconnor.net>
Sun, 23 May 2010 14:22:23 +0000 (10:22 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 23 May 2010 14:22:23 +0000 (10:22 -0400)
Display device/vendor ids in traditional format.

src/optionroms.c
src/pci.h

index ad88e0caadd1298cf6d0cdf40311a72f161ccbed..f144d839f8bb76196b24c5a95336fd10888b1674 100644 (file)
@@ -307,8 +307,10 @@ map_pcirom(u16 bdf, u32 vendev)
 
     struct rom_header *rom = (void*)orig;
     for (;;) {
-        dprintf(5, "Inspecting possible rom at %p (dv=%08x bdf=%x)\n"
-                , rom, vendev, bdf);
+        dprintf(5, "Inspecting possible rom at %p (vd=%04x:%04x"
+                " bdf=%02x:%02x.%x)\n"
+                , rom, pci_vd_to_ven(vendev), pci_vd_to_dev(vendev)
+                , pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf), pci_bdf_to_fn(bdf));
         if (rom->signature != OPTION_ROM_SIGNATURE) {
             dprintf(6, "No option rom signature (got %x)\n", rom->signature);
             goto fail;
@@ -319,7 +321,7 @@ map_pcirom(u16 bdf, u32 vendev)
             goto fail;
         }
 
-        u32 vd = (pci->device << 16) | pci->vendor;
+        u32 vd = pci_vd(pci->vendor, pci->device);
         if (vd == vendev && pci->type == PCIROM_CODETYPE_X86)
             // A match
             break;
@@ -346,9 +348,9 @@ static int
 init_pcirom(u16 bdf, int isvga)
 {
     u32 vendev = pci_config_readl(bdf, PCI_VENDOR_ID);
-    dprintf(4, "Attempting to init PCI bdf %02x:%02x.%x (dev/ven %08x)\n"
+    dprintf(4, "Attempting to init PCI bdf %02x:%02x.%x (vd %04x:%04x)\n"
             , pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf), pci_bdf_to_fn(bdf)
-            , vendev);
+            , pci_vd_to_ven(vendev), pci_vd_to_dev(vendev));
     struct rom_header *rom = lookup_hardcode(vendev);
     if (! rom)
         rom = map_pcirom(bdf, vendev);
index eea5b09c3b399be0ae1bac1db1c46049834e3b3c..8a21c06b76898b8aaba6d9b977854771837fab80 100644 (file)
--- a/src/pci.h
+++ b/src/pci.h
@@ -22,6 +22,16 @@ static inline u16 pci_to_bdf(int bus, int dev, int fn) {
     return (bus<<8) | (dev<<3) | fn;
 }
 
+static inline u32 pci_vd(u16 vendor, u16 device) {
+    return (device << 16) | vendor;
+}
+static inline u16 pci_vd_to_ven(u32 vd) {
+    return vd & 0xffff;
+}
+static inline u16 pci_vd_to_dev(u32 vd) {
+    return vd >> 16;
+}
+
 void pci_config_writel(u16 bdf, u32 addr, u32 val);
 void pci_config_writew(u16 bdf, u32 addr, u16 val);
 void pci_config_writeb(u16 bdf, u32 addr, u8 val);