PCI lookup issue: 3c905C-TX not found by RTEMS.

Karel Gardas kgardas at objectsecurity.com
Tue Jan 18 20:20:04 UTC 2005


On Tue, 18 Jan 2005 gregory.menke at gsfc.nasa.gov wrote:

>
> Karel Gardas writes:
>  >
>  > Any hack I should try?
>  >
>
> What devices does the pci find device function discover?  The thing to
> look for is if the device discovery proceeds onto the pci backplane.

With the patch below, I've got this listing for 10b7/9200 device:

BSP_pciFindDevice: vendor(10B7)/device(9200)

BSP_pciFindDevice: found 0x00497E48 at 0/0/0
BSP_pciFindDevice: found 0x00497E48 at 0/1/0
BSP_pciFindDevice: found 0x00497E48 at 0/2/0
BSP_pciFindDevice: found 0x00497E48 at 0/3/0
BSP_pciFindDevice: found 0x00497E48 at 0/4/0
BSP_pciFindDevice: found 0x00497E48 at 0/5/0
BSP_pciFindDevice: found 0x00497E48 at 0/6/0
BSP_pciFindDevice: found 0x00497E48 at 0/7/0
BSP_pciFindDevice: found 0x00497E48 at 0/8/0
BSP_pciFindDevice: found 0x00497E48 at 0/9/0
BSP_pciFindDevice: found 0x00497E48 at 0/10/0
BSP_pciFindDevice: found 0x00497E48 at 0/11/0
BSP_pciFindDevice: found 0x00497E48 at 0/12/0
BSP_pciFindDevice: found 0x00497E48 at 0/13/0
BSP_pciFindDevice: found 0x00497E48 at 0/14/0
BSP_pciFindDevice: found 0x00497E48 at 0/15/0
not found...

Any idea?

Thanks,
Karel
--
Karel Gardas                  kgardas at objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com

Index: c/src/lib/libbsp/i386/shared/pci/pcibios.c
===================================================================
RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/i386/shared/pci/pcibios.c,v
retrieving revision 1.3.2.2
diff -u -r1.3.2.2 pcibios.c
--- c/src/lib/libbsp/i386/shared/pci/pcibios.c	27 Sep 2004 21:49:18 -0000	1.3.2.2
+++ c/src/lib/libbsp/i386/shared/pci/pcibios.c	18 Jan 2005 20:15:41 -0000
@@ -281,11 +281,13 @@
 BSP_pciFindDevice( unsigned short vendorid, unsigned short deviceid,
                    int instance, int *pbus, int *pdev, int *pfun )
 {
+#define PCI_DEBUG 1
    int sig;
    unsigned int d;
    unsigned short s;
    unsigned char bus,dev,fun,hd;
-
+printk("BSP_pciFindDevice: vendor(%x)/device(%x)\n", vendorid, deviceid);
+getchar();
    for (bus=0; bus<BusCountPCI(); bus++)
    {
       for (dev=0; dev<PCI_MAX_DEVICES; dev++)
@@ -323,11 +325,13 @@
                *pbus=bus;
                *pdev=dev;
                *pfun=fun;
+printk("SUCCESS\n");
                return 0;
             }
          }
       }
    }
+printk("not found...\n");
    return -1;
 }




More information about the users mailing list