From 0ffa407a2deec2d04caa6a22e57816f645038207 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 18 Jul 2003 15:52:41 +0000 Subject: 2003-07-16 Greg Menke PR 428/bsps PR 432/bsps * pci/pcibios.c, pci/pcibios.h: Added BSP_pci_Find_Device() which is copied from motorola_shared. --- c/src/lib/libbsp/i386/shared/ChangeLog | 7 ++++ c/src/lib/libbsp/i386/shared/pci/pcibios.c | 63 ++++++++++++++++++++++++++++++ c/src/lib/libbsp/i386/shared/pci/pcibios.h | 4 ++ 3 files changed, 74 insertions(+) diff --git a/c/src/lib/libbsp/i386/shared/ChangeLog b/c/src/lib/libbsp/i386/shared/ChangeLog index 4141b79ca5..5936a5c021 100644 --- a/c/src/lib/libbsp/i386/shared/ChangeLog +++ b/c/src/lib/libbsp/i386/shared/ChangeLog @@ -1,3 +1,10 @@ +2003-07-16 Greg Menke + + PR 428/bsps + PR 432/bsps + * pci/pcibios.c, pci/pcibios.h: Added BSP_pci_Find_Device() which + is copied from motorola_shared. + 2003-03-18 Joel Sherrill * comm/GDB.HOWTO: Updated. diff --git a/c/src/lib/libbsp/i386/shared/pci/pcibios.c b/c/src/lib/libbsp/i386/shared/pci/pcibios.c index ea90c95f60..88736480ea 100644 --- a/c/src/lib/libbsp/i386/shared/pci/pcibios.c +++ b/c/src/lib/libbsp/i386/shared/pci/pcibios.c @@ -213,6 +213,69 @@ pcib_find_by_class(int classCode, int idx, int *sig) + +#define PCI_MULTI_FUNCTION 0x80 +#define PCI_MAX_DEVICES 16 +#define PCI_MAX_FUNCTIONS 8 + + +int +BSP_pciFindDevice( unsigned short vendorid, unsigned short deviceid, + int instance, int *pbus, int *pdev, int *pfun ) +{ + int sig; + unsigned int d; + unsigned short s; + unsigned char bus,dev,fun,hd; + + for (bus=0; bus