summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-02-21 22:37:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-02-21 22:37:55 +0000
commit66d9e3ad29009780e56ab3392f63f2ce6b5b6430 (patch)
tree8e205fe6bea7ae1372cb97858ddd08b1d2e41ae2 /cpukit
parentChanged io manager initialization routine to not be static. (diff)
downloadrtems-66d9e3ad29009780e56ab3392f63f2ce6b5b6430.tar.bz2
Changed io manager initialization routine to not be static and added it here.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/sapi/src/io.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/cpukit/sapi/src/io.c b/cpukit/sapi/src/io.c
index 49c89b22dc..b326a96987 100644
--- a/cpukit/sapi/src/io.c
+++ b/cpukit/sapi/src/io.c
@@ -17,11 +17,48 @@
#include <rtems/io.h>
#include <rtems/score/isr.h>
#include <rtems/score/thread.h>
+#include <rtems/score/wkspace.h>
#include <string.h>
/*PAGE
*
+ * _IO_Manager_initialization
+ *
+ */
+
+void _IO_Manager_initialization(
+ rtems_driver_address_table *driver_table,
+ unsigned32 number_of_drivers,
+ unsigned32 number_of_devices
+)
+{
+ void *tmp;
+ unsigned32 index;
+ rtems_driver_name_t *np;
+
+ _IO_Driver_address_table = driver_table;
+ _IO_Number_of_drivers = number_of_drivers;
+ _IO_Number_of_devices = number_of_devices;
+
+ tmp = _Workspace_Allocate_or_fatal_error(
+ sizeof( rtems_driver_name_t ) * ( number_of_devices + 1 )
+ );
+
+ _IO_Driver_name_table = (rtems_driver_name_t *) tmp;
+
+ for( index=0, np = _IO_Driver_name_table ;
+ index < _IO_Number_of_devices ;
+ index++, np++ ) {
+ np->device_name = 0;
+ np->device_name_length = 0;
+ np->major = 0;
+ np->minor = 0;
+ }
+}
+
+/*PAGE
+ *
* _IO_Initialize_all_drivers
*
* This routine initializes all device drivers