[PATCH] pc386 BSP: initialization of PCI bus

Karel Gardas kgardas at objectsecurity.com
Thu Aug 18 19:00:59 UTC 2005


Hello,

IIRC Gregory Melke recommended to initializa PCI bus in bsp_startup 
function of pc386 BSP early this year. Attach patch tries to implement 
this. It is tested on two x86 systems one with 3C905C-TX and other with 
Intel's Ethernet NICs.

Since till now, initialization of PCI bus was done in appropriate device 
driver on pc386 BSP, I hope it is right to place its initialization after 
all needed initializations of IRQ and exceptions management code.

Cheers,
Karel
--
Karel Gardas                  kgardas at objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com
-------------- next part --------------
Index: c/src/lib/libbsp/i386/pc386/ChangeLog
===================================================================
RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/i386/pc386/ChangeLog,v
retrieving revision 1.125
diff -u -r1.125 ChangeLog
--- c/src/lib/libbsp/i386/pc386/ChangeLog	18 Jul 2005 14:34:41 -0000	1.125
+++ c/src/lib/libbsp/i386/pc386/ChangeLog	18 Aug 2005 18:51:22 -0000
@@ -1,3 +1,7 @@
+2005-08-18  Karel Gardas  <kgardas at objectsecurity.com>
+
+	* startup/bspstart.c: Initialize PCI bus in bsp_start function.
+
 2005-07-18	Lars Munch <lars at segv.dk>
 
 	PR 813/networking
Index: c/src/lib/libbsp/i386/pc386/startup/bspstart.c
===================================================================
RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c,v
retrieving revision 1.33
diff -u -r1.33 bspstart.c
--- c/src/lib/libbsp/i386/pc386/startup/bspstart.c	21 May 2004 15:30:30 -0000	1.33
+++ c/src/lib/libbsp/i386/pc386/startup/bspstart.c	18 Aug 2005 18:51:23 -0000
@@ -33,6 +33,7 @@
 #include <bsp.h>
 #include <rtems/libio.h>
 #include <rtems/libcsupport.h>
+#include <rtems/pci.h>
 #include <libcpu/cpuModel.h>
 
 /*-------------------------------------------------------------------------+
@@ -134,6 +135,7 @@
 +--------------------------------------------------------------------------*/
 void bsp_start_default( void )
 {
+  int pci_init_retval;
   void Calibrate_loop_1ms(void);
 
   /*
@@ -173,6 +175,15 @@
    * Init rtems exceptions management
    */
   rtems_exception_init_mngt();
+
+  /*
+   * init PCI Bios interface...
+   */
+  pci_init_retval = pci_initialize();
+  if (pci_init_retval != PCIB_ERR_SUCCESS) {
+      printk("PCI bus: could not initialize PCI BIOS interface\n");
+  }
+
   /*
    *  The following information is very useful when debugging.
    */


More information about the users mailing list