<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-10-18)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com

        * mrfs_support/fs_support.c: Resolved name conflict that was causing a
        compiler error.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/fstests/ChangeLog.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>testsuites/fstests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/fstests/mrfs_support/fs_support.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>testsuites/fstests/mrfs_support/fs_support.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/fstests/ChangeLog:1.12 rtems/testsuites/fstests/ChangeLog:1.13
--- rtems/testsuites/fstests/ChangeLog:1.12     Fri Sep 30 07:57:07 2011
+++ rtems/testsuites/fstests/ChangeLog  Tue Oct 18 13:19:36 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com
+
+       * mrfs_support/fs_support.c: Resolved name conflict that was causing a
+       compiler error.
+
</font> 2011-09-30        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * fsrdwr/init.c: Use %zd to print size_t.

<font color='#006600'>diff -u rtems/testsuites/fstests/mrfs_support/fs_support.c:1.3 rtems/testsuites/fstests/mrfs_support/fs_support.c:1.4
--- rtems/testsuites/fstests/mrfs_support/fs_support.c:1.3      Wed Sep  7 02:32:05 2011
+++ rtems/testsuites/fstests/mrfs_support/fs_support.c  Tue Oct 18 13:19:36 2011
</font><font color='#997700'>@@ -26,7 +26,7 @@
</font> 
 #define BLOCK_SIZE (512)
 
<font color='#880000'>-rtems_rfs_format_config config = {
</font><font color='#000088'>+rtems_rfs_format_config rfs_config = {
</font> block_size:BLOCK_SIZE
 };
 
<font color='#997700'>@@ -40,7 +40,7 @@
</font> 
   init_ramdisk ();
 
<font color='#880000'>-  rc = rtems_rfs_format (RAMDISK_PATH, &config);
</font><font color='#000088'>+  rc = rtems_rfs_format (RAMDISK_PATH, &rfs_config);
</font>   rtems_test_assert (rc == 0);
 
   rc = mount (RAMDISK_PATH,
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * console.c: Modifications to add dynamic tables for libchip serial
        drivers.
        * console_control.c, console_private.h, console_read.c,
        console_select.c, console_write.c: New files.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/ChangeLog.diff?r1=text&tr1=1.190&r2=text&tr2=1.191&diff_format=h">M</a></td><td width='1%'>1.191</td><td width='100%'>c/src/lib/libbsp/shared/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console.c.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>c/src/lib/libbsp/shared/console.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console_control.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/shared/console_control.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console_private.h?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/shared/console_private.h</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console_read.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/shared/console_read.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console_select.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/shared/console_select.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/shared/console_write.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/shared/console_write.c</font></td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/shared/ChangeLog:1.190 rtems/c/src/lib/libbsp/shared/ChangeLog:1.191
--- rtems/c/src/lib/libbsp/shared/ChangeLog:1.190       Tue Aug 30 07:16:24 2011
+++ rtems/c/src/lib/libbsp/shared/ChangeLog     Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * console.c: Modifications to add dynamic tables for libchip serial
+       drivers.
+       * console_control.c, console_private.h, console_read.c,
+       console_select.c, console_write.c: New files.
+
</font> 2011-08-30        Joel Sherrill <joel.sherrill@oarcorp.com>
 
        * bootcard.c: Revert patch and add comment clarifying code and need for

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/shared/console.c:1.16 rtems/c/src/lib/libbsp/shared/console.c:1.17
--- rtems/c/src/lib/libbsp/shared/console.c:1.16        Mon Mar 21 03:19:19 2011
+++ rtems/c/src/lib/libbsp/shared/console.c     Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -1,10 +1,13 @@
</font><font color='#880000'>-/*
- *  This file contains the generic console driver shell used
- *  by all console drivers using libchip.
</font><font color='#000088'>+/**
+ * @file
</font>  *
<font color='#880000'>- *  This driver uses the termios pseudo driver.
</font><font color='#000088'>+ * @ingroup Console
</font>  *
<font color='#880000'>- *  COPYRIGHT (c) 1989-1997.
</font><font color='#000088'>+ * @brief Extension of the generic libchip console driver shell
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2011.
</font>  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
<font color='#997700'>@@ -16,30 +19,101 @@
</font> 
 #include <bsp.h>
 #include <rtems/libio.h>
<font color='#880000'>-#include <rtems/console.h>
</font> #include <stdlib.h>
 #include <assert.h>
 #include <termios.h>
 
 #include <rtems/termiostypes.h>
 #include <libchip/serial.h>
<font color='#000088'>+#include "console_private.h"
+
+unsigned long               Console_Port_Count  = 0;
+console_tbl               **Console_Port_Tbl    = NULL;
+console_data               *Console_Port_Data   = NULL;
+rtems_device_minor_number   Console_Port_Minor  = 0;
+bool                        console_initialized = false;
</font> 
 /*
<font color='#880000'>- *  Configuration Information
</font><font color='#000088'>+ *  console_initialize_pointers
+ *
+ *  This method is used to initialize the table of pointers to the
+ *  serial port configuration structure entries.
</font>  */
<font color='#000088'>+static void console_initialize_pointers(void)
+{
+  int i;
</font> 
<font color='#880000'>-extern console_data  Console_Port_Data[];
-extern unsigned long  Console_Port_Count;
-extern rtems_device_minor_number  Console_Port_Minor;
</font><font color='#000088'>+  if ( Console_Port_Tbl )
+    return;
</font> 
<font color='#880000'>-/*PAGE
</font><font color='#000088'>+  Console_Port_Count = Console_Configuration_Count;
+  Console_Port_Tbl   = malloc( Console_Port_Count * sizeof( console_tbl * ) );
+  if (Console_Port_Tbl == NULL)
+    rtems_panic("No memory for console pointers");
+<span style="background-color: #FF0000">    </span>
+  for (i=0 ; i < Console_Port_Count ; i++)
+    Console_Port_Tbl[i] = &Console_Configuration_Ports[i];
+}
+
+/*
+ *  console_register_devices
</font>  *
<font color='#000088'>+ *  This method is used to add dynamically discovered devices to the
+ *  set of serial ports supported.
+ */
+void console_register_devices(
+  console_tbl *new_ports,
+  size_t       number_of_ports
+)
+{
+  int  old_number_of_ports;
+  int  i;
+
+  console_initialize_pointers();
+
+  /*
+   *  console_initialize has been invoked so it is now too late to
+   *  register devices.
+   */
+  if ( console_initialized == true ) {
+    printk( "Attempt to register console devices after driver initialized\n" );
+    rtems_fatal_error_occurred( 0xdead0001 );
+  }
+
+  /*
+   *  Allocate memory for the console port extension
+   */
+  old_number_of_ports = Console_Port_Count;
+  Console_Port_Count += number_of_ports;
+  Console_Port_Tbl = realloc(
+    Console_Port_Tbl,
+    Console_Port_Count * sizeof( console_tbl * )
+  );
+  if ( Console_Port_Tbl == NULL ) {
+    printk( "Unable to allocate pointer table for registering console devices\n" );
+    rtems_fatal_error_occurred( 0xdead0002 );
+  }
+
+  Console_Port_Data  = calloc( Console_Port_Count, sizeof( console_data ) );
+  if ( Console_Port_Data == NULL ) {
+    printk( "Unable to allocate data table for console devices\n" );
+    rtems_fatal_error_occurred( 0xdead0003 );
+  }
+
+  /*
+   *  Now add the new devices at the end.
+   */
+<span style="background-color: #FF0000">  </span>
+  for (i=0 ; i < number_of_ports ; i++) {
+    Console_Port_Tbl[old_number_of_ports + i] = &new_ports[i];
+  }
+}
+
+/*
</font>  *  console_open
  *
  *  open a port as a termios console.
<font color='#880000'>- *
</font>  */
<font color='#880000'>-
</font> rtems_device_driver console_open(
   rtems_device_major_number major,
   rtems_device_minor_number minor,
<font color='#997700'>@@ -65,17 +139,17 @@
</font>    * Open the port as a termios console driver.
    */
 
<font color='#880000'>-  cptr = &Console_Port_Tbl[minor];
</font><font color='#000088'>+  cptr = Console_Port_Tbl[minor];
</font>   Callbacks.firstOpen            = cptr->pDeviceFns->deviceFirstOpen;
   Callbacks.lastClose            = cptr->pDeviceFns->deviceLastClose;
   Callbacks.pollRead             = cptr->pDeviceFns->deviceRead;
   Callbacks.write                = cptr->pDeviceFns->deviceWrite;
   Callbacks.setAttributes        = cptr->pDeviceFns->deviceSetAttributes;
   if (cptr->pDeviceFlow != NULL) {
<font color='#880000'>-    Callbacks.stopRemoteTx = cptr->pDeviceFlow->deviceStopRemoteTx;
</font><font color='#000088'>+    Callbacks.stopRemoteTx  = cptr->pDeviceFlow->deviceStopRemoteTx;
</font>     Callbacks.startRemoteTx = cptr->pDeviceFlow->deviceStartRemoteTx;
   } else {
<font color='#880000'>-    Callbacks.stopRemoteTx = NULL;
</font><font color='#000088'>+    Callbacks.stopRemoteTx  = NULL;
</font>     Callbacks.startRemoteTx = NULL;
   }
   Callbacks.outputUsesInterrupts = cptr->pDeviceFns->deviceOutputUsesInterrupts;
<font color='#997700'>@@ -85,7 +159,7 @@
</font>    *        Console_Port_Tbl[minor].ulHysteresis);
    */
 
<font color='#880000'>-  status = rtems_termios_open ( major, minor, arg, &Callbacks );
</font><font color='#000088'>+  status = rtems_termios_open( major, minor, arg, &Callbacks );
</font>   Console_Port_Data[minor].termios_data = args->iop->data1;
 
   /* Get tty pointur from the Console_Port_Data */
<font color='#997700'>@@ -103,37 +177,35 @@
</font>     /*
      * If it's the first open, modified, if need, the port parameters
      */
<font color='#880000'>-    if (minor!=Console_Port_Minor) {
</font><font color='#000088'>+    if ( minor != Console_Port_Minor ) {
</font>       /*
<font color='#880000'>-       * If this is not the console we do not want ECHO and
-       * so forth
</font><font color='#000088'>+       * If this is not the console we do not want ECHO and so forth
</font>        */
<font color='#880000'>-      IoctlArgs.iop=args->iop;
-      IoctlArgs.command=RTEMS_IO_GET_ATTRIBUTES;
-      IoctlArgs.buffer=&Termios;
-      rtems_termios_ioctl(&IoctlArgs);
-      Termios.c_lflag=ICANON;
-      IoctlArgs.command=RTEMS_IO_SET_ATTRIBUTES;
-      rtems_termios_ioctl(&IoctlArgs);
</font><font color='#000088'>+      IoctlArgs.iop     = args->iop;
+      IoctlArgs.command = RTEMS_IO_GET_ATTRIBUTES;
+      IoctlArgs.buffer  = &Termios;
+      rtems_termios_ioctl( &IoctlArgs );
+
+      Termios.c_lflag   = ICANON;
+      IoctlArgs.command = RTEMS_IO_SET_ATTRIBUTES;
+      rtems_termios_ioctl( &IoctlArgs );
</font>     }
   }
 
   if ( (args->iop->flags&LIBIO_FLAGS_READ) &&
<font color='#880000'>-      Console_Port_Tbl[minor].pDeviceFlow &&
-      Console_Port_Tbl[minor].pDeviceFlow->deviceStartRemoteTx) {
-    Console_Port_Tbl[minor].pDeviceFlow->deviceStartRemoteTx(minor);
</font><font color='#000088'>+      cptr->pDeviceFlow &&
+      cptr->pDeviceFlow->deviceStartRemoteTx) {
+    cptr->pDeviceFlow->deviceStartRemoteTx(minor);
</font>   }
 
   return status;
 }
 
<font color='#880000'>-/*PAGE
- *
</font><font color='#000088'>+/*
</font>  *  console_close
  *
  *  This routine closes a port that has been opened as console.
  */
<font color='#880000'>-
</font> rtems_device_driver console_close(
   rtems_device_major_number major,
   rtems_device_minor_number minor,
<font color='#997700'>@@ -142,8 +214,11 @@
</font> {
   rtems_libio_open_close_args_t *args = arg;
   struct rtems_termios_tty      *current_tty;
<font color='#000088'>+  console_tbl                   *cptr;
+
+  cptr  = Console_Port_Tbl[minor];
</font> 
<font color='#880000'>-  /* Get tty pointeur from the Console_Port_Data */
</font><font color='#000088'>+  /* Get tty pointer from the Console_Port_Data */
</font>   current_tty = Console_Port_Data[minor].termios_data;
 
   /* Get the tty refcount to determine if we need to do deviceStopRemoteTx.
<font color='#997700'>@@ -151,111 +226,93 @@
</font>    */
   if ( (current_tty->refcount == 1) ) {
     if ( (args->iop->flags&LIBIO_FLAGS_READ) &&
<font color='#880000'>-          Console_Port_Tbl[minor].pDeviceFlow &&
-          Console_Port_Tbl[minor].pDeviceFlow->deviceStopRemoteTx) {
-      Console_Port_Tbl[minor].pDeviceFlow->deviceStopRemoteTx(minor);
</font><font color='#000088'>+          cptr->pDeviceFlow &&
+          cptr->pDeviceFlow->deviceStopRemoteTx) {
+      cptr->pDeviceFlow->deviceStopRemoteTx(minor);
</font>     }
   }
 
   return rtems_termios_close (arg);
 }
 
<font color='#880000'>-/*PAGE
- *
- *  console_read
- *
- *  This routine uses the termios driver to read a character.
- */
-
-rtems_device_driver console_read(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return rtems_termios_read (arg);
-}
-
-/*PAGE
- *
- *  console_write
- *
- *  this routine uses the termios driver to write a character.
- */
-
-rtems_device_driver console_write(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return rtems_termios_write (arg);
-}
-
-/*PAGE
- *
- *  console_control
- *
- *  this routine uses the termios driver to process io
- */
-
-rtems_device_driver console_control(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return rtems_termios_ioctl (arg);
-}
-
-/*PAGE
- *
</font><font color='#000088'>+/*
</font>  *  console_initialize
  *
  *  Routine called to initialize the console device driver.
  */
<font color='#880000'>-
</font> rtems_device_driver console_initialize(
   rtems_device_major_number  major,
<font color='#880000'>-  rtems_device_minor_number  minor,
</font><font color='#000088'>+  rtems_device_minor_number  minor_arg,
</font>   void                      *arg
 )
 {
<font color='#880000'>-  rtems_status_code sc = RTEMS_SUCCESSFUL;
-  bool first = true;
</font><font color='#000088'>+  rtems_status_code          status;
+  rtems_device_minor_number  minor;
+  console_tbl               *port;
</font> 
<font color='#000088'>+  /*
+   * If we have no devices which were registered earlier then we
+   * must still initialize pointers and set Console_Port_Data.
+   */
+  if ( ! Console_Port_Tbl ) {
+    console_initialize_pointers();
+    Console_Port_Data  = calloc( Console_Port_Count, sizeof( console_data ) );
+    if ( Console_Port_Data == NULL ) {
+      printk( "Unable to allocate data table for console devices\n" );
+      rtems_fatal_error_occurred( 0xdead0003 );
+    }
+  }
+
+  /*
+   *  console_initialize has been invoked so it is now too late to
+   *  register devices.
+   */
+  console_initialized = true;
+
+  /*
+   *  Initialize the termio interface, our table of pointers to device
+   *  information structures, and determine if the user has explicitly
+   *  specified which device is to be used for the console.
+   */
</font>   rtems_termios_initialize();
<font color='#000088'>+  bsp_console_select();
+
+  /*
+   *  Iterate over all of the console devices we know about
+   *  and initialize them.
+   */
+  for (minor=0 ; minor < Console_Port_Count ; minor++) {
+    /*
+     *  First perform the configuration dependent probe, then the
+     *  device dependent probe
+     */
+    port = Console_Port_Tbl[minor];
</font> 
<font color='#880000'>-  for (minor = 0; minor < Console_Port_Count; ++minor) {
-    const console_tbl *device = &Console_Port_Tbl [minor];
</font><font color='#000088'>+    if ( (!port->deviceProbe || port->deviceProbe(minor)) &&
+         port->pDeviceFns->deviceProbe(minor)) {
</font> 
<font color='#880000'>-    if (
-      (device->deviceProbe == NULL || device->deviceProbe(minor))
-        && device->pDeviceFns->deviceProbe(minor)
-    ) {
-      device->pDeviceFns->deviceInitialize(minor);
-      if (first) {
-        first = false;
-        Console_Port_Minor = minor;
-        sc = rtems_io_register_name(CONSOLE_DEVICE_NAME, major, minor);
-        if (sc != RTEMS_SUCCESSFUL) {
-          rtems_fatal_error_occurred(sc);
-        }
</font><font color='#000088'>+      status = rtems_io_register_name( port->sDeviceName, major, minor );
+      if (status != RTEMS_SUCCESSFUL) {
+        printk( "Unable to register /dev/console\n" );
+        rtems_fatal_error_occurred(status);
</font>       }
<font color='#880000'>-      if (device->sDeviceName != NULL) {
-        sc = rtems_io_register_name(device->sDeviceName, major, minor);
-        if (sc != RTEMS_SUCCESSFUL) {
-          rtems_fatal_error_occurred(sc);
</font><font color='#000088'>+
+      if (minor == Console_Port_Minor) {
+        if (RTEMS_DEBUG)
+          printk( "Register %s as the CONSOLE\n", port->sDeviceName );
+        status = rtems_io_register_name( "dev/console", major, minor );
+        if (status != RTEMS_SUCCESSFUL) {
+          printk( "Unable to register /dev/console\n" );
+          rtems_fatal_error_occurred(status);
</font>         }
       }
<font color='#880000'>-    }
-  }
</font> 
<font color='#880000'>-  if (first) {
-    /*
-     * Failed to find a working device
-     */
-    rtems_fatal_error_occurred(RTEMS_IO_ERROR);
</font><font color='#000088'>+      /*
+       * Initialize the hardware device.
+       */
+      port->pDeviceFns->deviceInitialize(minor);
+
+    }
</font>   }
 
   return RTEMS_SUCCESSFUL;

<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/shared/console_control.c:1.1
--- /dev/null   Tue Oct 18 14:10:12 2011
+++ rtems/c/src/lib/libbsp/shared/console_control.c     Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup Console
+ *
+ * @brief Generic libchip console io_ctl extension
+ */
+
+
+/*
+ *  This file is an extension of the generic console driver<span style="background-color: #FF0000"> </span>
+ *  shell used by all console drivers using libchip.
+ *
+ *  COPYRIGHT (c) 1989-2011.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <bsp.h>
+#include <rtems/libio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <termios.h>
+
+#include <rtems/termiostypes.h>
+#include <libchip/serial.h>
+#include "console_private.h"
+
+/*
+ *  console_control
+ *
+ *  this routine uses the termios driver to process io
+ */
+rtems_device_driver console_control(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void                    * arg
+)
+{
+  return rtems_termios_ioctl (arg);
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/shared/console_private.h:1.1
--- /dev/null   Tue Oct 18 14:10:12 2011
+++ rtems/c/src/lib/libbsp/shared/console_private.h     Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -0,0 +1,92 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup Console
+ *
+ * @brief  Extension of the generic libchip console driver shell
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2011.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#ifndef _PC386_CONSOLE_PRIVATE_h
+#define _PC386_CONSOLE_PRIVATE_h
+
+#include <rtems.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern rtems_device_minor_number  Console_Port_Minor;
+extern rtems_device_minor_number  BSPPrintkPort;
+
+/**
+ *  @brief bsp_console_select
+ *
+ *  This function selects the port to be used as console
+ *
+ */
+void bsp_console_select(void);
+
+/**
+ *  @brief bsp_com_outch
+ *
+ *  This function puts a character out of the console port.
+ *
+ *  @param[in] ch specifies the character to write
+ */
+extern void bsp_com_outch(char ch);
+
+/**
+ *  @brief bsp_com_inch
+ *
+ *  This function gets a character from the console
+ *  port.
+ *
+ *  @return This method returns the character that
+ *    was retrieved from the console port.
+ */
+extern int bsp_com_inch(void);<span style="background-color: #FF0000"> </span>
+
+/**
+ *  @brief<span style="background-color: #FF0000"> </span>
+ *
+ *  This function<span style="background-color: #FF0000"> </span>
+ *
+ *  @return This method returns<span style="background-color: #FF0000"> </span>
+ */
+int vt_ioctl( unsigned int cmd, unsigned long arg);
+
+/**
+ *  @brief console_register_devices<span style="background-color: #FF0000"> </span>
+ *
+ *  This function expands the console table to include previous
+ *  ports and the array of new ports specified.
+ *
+ *  @param[in] new_ports specifies an array of new ports to register
+ *  @param[in] number_of_ports specifies the number of elements
+ *         in the new_ports array
+ *
+ */
+void console_register_devices(
+  console_tbl *new_ports,
+  size_t       number_of_ports
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**@}*/
+
+#endif
+/* end of include file */
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/shared/console_read.c:1.1
--- /dev/null   Tue Oct 18 14:10:12 2011
+++ rtems/c/src/lib/libbsp/shared/console_read.c        Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -0,0 +1,45 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup Console
+ *
+ * @brief Generic libchip console read extension
+ */
+
+/*
+ *  This file is an extension of the generic console driver<span style="background-color: #FF0000"> </span>
+ *  shell used by all console drivers using libchip.
+ *
+ *  COPYRIGHT (c) 1989-2011.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <bsp.h>
+#include <rtems/libio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <termios.h>
+
+#include <rtems/termiostypes.h>
+#include <libchip/serial.h>
+#include "console_private.h"
+
+/*
+ *  console_read
+ *
+ *  This routine uses the termios driver to read a character.
+ */
+rtems_device_driver console_read(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void                    * arg
+)
+{
+  return rtems_termios_read (arg);
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/shared/console_select.c:1.1
--- /dev/null   Tue Oct 18 14:10:12 2011
+++ rtems/c/src/lib/libbsp/shared/console_select.c      Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -0,0 +1,102 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup Console
+ *
+ * @brief Generic libchip console select<span style="background-color: #FF0000"> </span>
+ */
+
+/*
+ *  This file contains a routine to select the<span style="background-color: #FF0000"> </span>
+ *  console based upon a number of criteria.
+ *
+ *  COPYRIGHT (c) 2011.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <bsp.h>
+#include <rtems/libio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <termios.h>
+
+#include <rtems/termiostypes.h>
+#include <libchip/serial.h>
+#include "console_private.h"
+
+/*
+ * Method to return true if the device associated with the
+ * minor number probs available.
+ */
+static bool bsp_Is_Available( rtems_device_minor_number minor )
+{
+  console_tbl  *cptr = Console_Port_Tbl[minor];
+
+  /*
+   * First perform the configuration dependent probe, then the
+   * device dependent probe
+   */
+  if ((!cptr->deviceProbe || cptr->deviceProbe(minor)) &&
+       cptr->pDeviceFns->deviceProbe(minor)) {
+    return true;<span style="background-color: #FF0000"> </span>
+  }
+  return false;
+}
+
+/*
+ * Method to return the first available device.
+ */
+static rtems_device_minor_number bsp_First_Available_Device( void )
+{
+  rtems_device_minor_number minor;
+
+  for (minor=0; minor < Console_Port_Count ; minor++) {
+    console_tbl  *cptr = Console_Port_Tbl[minor];
+
+    /*
+     * First perform the configuration dependent probe, then the
+     * device dependent probe
+     */
+
+    if ((!cptr->deviceProbe || cptr->deviceProbe(minor)) &&
+         cptr->pDeviceFns->deviceProbe(minor)) {
+      return minor;
+    }
+  }
+
+  /*
+   *  Error No devices were found.  We will want to bail here.<span style="background-color: #FF0000"> </span>
+   */
+  rtems_fatal_error_occurred(RTEMS_IO_ERROR);
+}
+
+void bsp_console_select(void)
+{
+
+  /*
+   *  Reset Console_Port_Minor and<span style="background-color: #FF0000"> </span>
+   *  BSPPrintkPort here if desired.
+   *<span style="background-color: #FF0000">  </span>
+   *  This default version allows the bsp to set these
+   *  values at creation and will not touch them again
+   *  unless the selected port number is not available.
+   */
+
+  /*
+   * If the device that was selected isn't available then
+   * let the user know and select the first available device.
+   */
+  if ( !bsp_Is_Available( Console_Port_Minor ) ) {
+    printk(
+      "Error finding %s setting console to first available\n",
+      Console_Port_Tbl[Console_Port_Minor]->sDeviceName
+    );
+    Console_Port_Minor = bsp_First_Available_Device();
+  }
+}
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/shared/console_write.c:1.1
--- /dev/null   Tue Oct 18 14:10:12 2011
+++ rtems/c/src/lib/libbsp/shared/console_write.c       Tue Oct 18 13:23:51 2011
</font><font color='#997700'>@@ -0,0 +1,45 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup Console
+ *
+ * @brief Generic libchip console write extension
+ */
+
+/*
+ *  This file is an extension of the generic console driver<span style="background-color: #FF0000"> </span>
+ *  shell used by all console drivers using libchip.
+ *
+ *  COPYRIGHT (c) 1989-2011.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#include <bsp.h>
+#include <rtems/libio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <termios.h>
+
+#include <rtems/termiostypes.h>
+#include <libchip/serial.h>
+#include "console_private.h"
+
+/*
+ *  console_write
+ *
+ *  this routine uses the termios driver to write a character.
+ */
+rtems_device_driver console_write(
+  rtems_device_major_number major,
+  rtems_device_minor_number minor,
+  void                    * arg
+)
+{
+  return rtems_termios_write (arg);
+}
</font></pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/console-config.c, console/hsu.c: Modifications
        to add dynamic tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog.diff?r1=text&tr1=1.38&r2=text&tr2=1.39&diff_format=h">M</a></td><td width='1%'>1.39</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/Makefile.am.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/console/console-config.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc32xx/console/hsu.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/lpc32xx/console/hsu.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.38 rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.39
--- rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog:1.38   Thu Sep 22 02:09:07 2011
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/ChangeLog        Tue Oct 18 13:25:15 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/console-config.c, console/hsu.c: Modifications
+       to add dynamic tables for libchip serial drivers.
+
</font> 2011-09-22        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * make/custom/lpc32xx.inc: Workaround for GCC bug 50106.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/Makefile.am:1.14 rtems/c/src/lib/libbsp/arm/lpc32xx/Makefile.am:1.15
--- rtems/c/src/lib/libbsp/arm/lpc32xx/Makefile.am:1.14 Fri Jul  1 08:05:06 2011
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/Makefile.am      Tue Oct 18 13:25:15 2011
</font><font color='#997700'>@@ -109,8 +109,12 @@
</font> 
 # Console
 libbsp_a_SOURCES += ../../shared/console.c \
<font color='#000088'>+        ../../shared/console_select.c \
</font>   console/console-config.c \
<font color='#880000'>-   console/hsu.c
</font><font color='#000088'>+      console/hsu.c \
+        ../../shared/console_read.c \
+        ../../shared/console_write.c \
+        ../../shared/console_control.c
</font> 
 # Clock
 libbsp_a_SOURCES += ../shared/lpc/clock/lpc-clock-config.c

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c:1.2 rtems/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c:1.3
--- rtems/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c:1.2     Fri Apr  9 07:25:21 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/console/console-config.c Tue Oct 18 13:25:15 2011
</font><font color='#997700'>@@ -42,11 +42,9 @@
</font>   reg [i] = val;
 }
 
<font color='#880000'>-rtems_device_minor_number Console_Port_Minor = 0;
-
</font> /* FIXME: Console selection */
 
<font color='#880000'>-console_tbl Console_Port_Tbl [] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports [] = {
</font>   #ifdef LPC32XX_CONFIG_U5CLK
     {
       .sDeviceName = "/dev/ttyS5",
<font color='#997700'>@@ -197,8 +195,6 @@
</font> };
 
 #define LPC32XX_UART_COUNT \
<font color='#880000'>-  (sizeof(Console_Port_Tbl) / sizeof(Console_Port_Tbl [0]))
-
-unsigned long Console_Port_Count = LPC32XX_UART_COUNT;
</font><font color='#000088'>+  (sizeof(Console_Configuration_Ports) / sizeof(Console_Configuration_Ports [0]))
</font> 
<font color='#880000'>-console_data Console_Port_Data [LPC32XX_UART_COUNT];
</font><font color='#000088'>+unsigned long Console_Configuration_Count = LPC32XX_UART_COUNT;
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc32xx/console/hsu.c:1.2 rtems/c/src/lib/libbsp/arm/lpc32xx/console/hsu.c:1.3
--- rtems/c/src/lib/libbsp/arm/lpc32xx/console/hsu.c:1.2        Mon Aug 23 02:25:47 2010
+++ rtems/c/src/lib/libbsp/arm/lpc32xx/console/hsu.c    Tue Oct 18 13:25:15 2011
</font><font color='#997700'>@@ -64,7 +64,7 @@
</font> {
   rtems_libio_open_close_args_t *oca = arg;
   struct rtems_termios_tty *tty = oca->iop->data1;
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   volatile lpc32xx_hsu *hsu = (volatile lpc32xx_hsu *) ct->ulCtrlPort1;
 
<font color='#997700'>@@ -77,7 +77,7 @@
</font> 
 static ssize_t lpc32xx_hsu_write(int minor, const char *buf, size_t len)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   volatile lpc32xx_hsu *hsu = (volatile lpc32xx_hsu *) ct->ulCtrlPort1;
   size_t tx_level = (hsu->level & HSU_LEVEL_TX_MASK) >> HSU_LEVEL_TX_SHIFT;
<font color='#997700'>@@ -101,7 +101,7 @@
</font> static void lpc32xx_hsu_interrupt_handler(void *arg)
 {
   int minor = (int) arg;
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   volatile lpc32xx_hsu *hsu = (volatile lpc32xx_hsu *) ct->ulCtrlPort1;
 
<font color='#997700'>@@ -141,7 +141,7 @@
</font> 
 static void lpc32xx_hsu_initialize(int minor)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   volatile lpc32xx_hsu *hsu = (volatile lpc32xx_hsu *) ct->ulCtrlPort1;
 
<font color='#997700'>@@ -166,7 +166,7 @@
</font> 
 static int lpc32xx_hsu_set_attributes(int minor, const struct termios *term)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   volatile lpc32xx_hsu *hsu = (volatile lpc32xx_hsu *) ct->ulCtrlPort1;
   int baud_flags = term->c_cflag & CBAUD;
 
</pre>
<p> </p>
<a name='cs4'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/console-config.c: Modifications to add dynamic
        tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog.diff?r1=text&tr1=1.73&r2=text&tr2=1.74&diff_format=h">M</a></td><td width='1%'>1.74</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am.diff?r1=text&tr1=1.37&r2=text&tr2=1.38&diff_format=h">M</a></td><td width='1%'>1.38</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/console/console-config.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.73 rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.74
--- rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.73   Mon Oct 17 05:39:59 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog        Tue Oct 18 13:25:35 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/console-config.c: Modifications to add dynamic
+       tables for libchip serial drivers.
+
</font> 2011-10-17        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * include/start-config.h, make/custom/lpc24xx_plx800_rom_int.cfg,

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.37 rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.38
--- rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.37 Mon Oct 17 05:39:59 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am      Tue Oct 18 13:25:35 2011
</font><font color='#997700'>@@ -111,7 +111,9 @@
</font> 
 # Console
 libbsp_a_SOURCES += ../../shared/console.c \
<font color='#880000'>-   console/console-config.c
</font><font color='#000088'>+    console/console-config.c ../../shared/console_select.c \
+    ../../shared/console_read.c ../../shared/console_write.c \
+    ../../shared/console_control.c
</font> 
 # Clock
 libbsp_a_SOURCES += ../shared/lpc/clock/lpc-clock-config.c

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c:1.6 rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c:1.7
--- rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c:1.6     Thu May 19 07:30:00 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c Tue Oct 18 13:25:35 2011
</font><font color='#997700'>@@ -89,9 +89,7 @@
</font>   }
 #endif
 
<font color='#880000'>-rtems_device_minor_number Console_Port_Minor = 0;
-
-console_tbl Console_Port_Tbl [] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports [] = {
</font>   #ifdef LPC24XX_CONFIG_CONSOLE
     {
       .sDeviceName = "/dev/ttyS0",
<font color='#997700'>@@ -179,8 +177,5 @@
</font> };
 
 #define LPC24XX_UART_COUNT \
<font color='#880000'>-  (sizeof(Console_Port_Tbl) / sizeof(Console_Port_Tbl [0]))
-
-unsigned long Console_Port_Count = LPC24XX_UART_COUNT;
-
-console_data Console_Port_Data [LPC24XX_UART_COUNT];
</font><font color='#000088'>+  (sizeof(Console_Configuration_Ports) / sizeof(console_tbl))
+unsigned long Console_Configuration_Count = LPC24XX_UART_COUNT;
</font></pre>
<p> </p>
<a name='cs5'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/uart.c: Modifications to add dynamic tables for
        libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog.diff?r1=text&tr1=1.119&r2=text&tr2=1.120&diff_format=h">M</a></td><td width='1%'>1.120</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am.diff?r1=text&tr1=1.41&r2=text&tr2=1.42&diff_format=h">M</a></td><td width='1%'>1.42</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/edb7312/console/uart.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/edb7312/console/uart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/ChangeLog.diff?r1=text&tr1=1.64&r2=text&tr2=1.65&diff_format=h">M</a></td><td width='1%'>1.65</td><td width='100%'>c/src/lib/libbsp/arm/gp32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/Makefile.am.diff?r1=text&tr1=1.24&r2=text&tr2=1.25&diff_format=h">M</a></td><td width='1%'>1.25</td><td width='100%'>c/src/lib/libbsp/arm/gp32/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gp32/console/uart.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/arm/gp32/console/uart.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog.diff?r1=text&tr1=1.58&r2=text&tr2=1.59&diff_format=h">M</a></td><td width='1%'>1.59</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/rtl22xx/console/uart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.119 rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.120
--- rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog:1.119  Sun Jun 19 03:12:17 2011
+++ rtems/c/src/lib/libbsp/arm/edb7312/ChangeLog        Tue Oct 18 13:26:36 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/uart.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-06-19        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * Makefile.am: Fix broken path to clockdrv_shell.h.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.41 rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.42
--- rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am:1.41 Sun Jun 19 03:12:17 2011
+++ rtems/c/src/lib/libbsp/arm/edb7312/Makefile.am      Tue Oct 18 13:26:36 2011
</font><font color='#997700'>@@ -44,7 +44,9 @@
</font> libbsp_a_SOURCES += clock/clockdrv.c
 libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
 # console
<font color='#880000'>-libbsp_a_SOURCES += console/uart.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/uart.c ../../shared/console.c \
+    ../../shared/console_select.c  ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c<span style="background-color: #FF0000"> </span>
</font> # timer
 libbsp_a_SOURCES += timer/timer.c
 # abort

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/edb7312/console/uart.c:1.8 rtems/c/src/lib/libbsp/arm/edb7312/console/uart.c:1.9
--- rtems/c/src/lib/libbsp/arm/edb7312/console/uart.c:1.8       Wed Apr 14 04:27:31 2010
+++ rtems/c/src/lib/libbsp/arm/edb7312/console/uart.c   Tue Oct 18 13:26:36 2011
</font><font color='#997700'>@@ -31,9 +31,8 @@
</font> static void    uart_write_polled(int minor, char c);
 static int     uart_set_attributes(int minor, const struct termios *t);
 
<font color='#880000'>-unsigned long Console_Port_Count = NUM_DEVS;
-console_data  Console_Port_Data[NUM_DEVS];
-rtems_device_minor_number  Console_Port_Minor = 0;
</font><font color='#000088'>+unsigned long Console_Configuration_Count = NUM_DEVS;
+
</font> console_fns uart_fns =
 {
     libchip_serial_default_probe,
<font color='#997700'>@@ -46,7 +45,7 @@
</font>     uart_set_attributes,
     FALSE
 };
<font color='#880000'>-console_tbl Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports[] = {
</font>     {
         "/dev/com0",                      /* sDeviceName */
         SERIAL_CUSTOM,                    /* deviceType */
<font color='#997700'>@@ -92,9 +91,9 @@
</font>     char        c;
     int         err;
 
<font color='#880000'>-    data_reg = (uint32_t*)Console_Port_Tbl[minor].ulDataPort;
-    ctrl_reg1 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort1;
-    ctrl_reg2 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+    data_reg  = (uint32_t *)Console_Port_Tbl[minor]->ulDataPort;
+    ctrl_reg1 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort1;
+    ctrl_reg2 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
     if ((*ctrl_reg2 & EP7312_UART_URXFE1) != 0) {
         return -1;
<font color='#997700'>@@ -115,9 +114,9 @@
</font>     size_t i;
     char c;
 
<font color='#880000'>-    data_reg = (uint32_t*)Console_Port_Tbl[minor].ulDataPort;
-    ctrl_reg1 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort1;
-    ctrl_reg2 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+    data_reg  = (uint32_t *)Console_Port_Tbl[minor]->ulDataPort;
+    ctrl_reg1 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort1;
+    ctrl_reg2 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
     for (i = 0; i < len; i++) {
         /* Wait for fifo to have room */
<font color='#997700'>@@ -138,9 +137,9 @@
</font>     volatile uint32_t   *ctrl_reg1;
     volatile uint32_t   *ctrl_reg2;
 
<font color='#880000'>-    data_reg = (uint32_t*)Console_Port_Tbl[minor].ulDataPort;
-    ctrl_reg1 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort1;
-    ctrl_reg2 = (uint32_t*)Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+    data_reg  = (uint32_t *)Console_Port_Tbl[minor]->ulDataPort;
+    ctrl_reg1 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort1;
+    ctrl_reg2 = (uint32_t *)Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
     /*   *ctrl_reg = (BSP_UART_DATA8       |
                  BSP_UART_STOP1       |

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.64 rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.65
--- rtems/c/src/lib/libbsp/arm/gp32/ChangeLog:1.64      Fri Feb 11 05:48:14 2011
+++ rtems/c/src/lib/libbsp/arm/gp32/ChangeLog   Tue Oct 18 13:26:07 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/uart.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * startup/bspreset.c, startup/bspstart.c:

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.24 rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.25
--- rtems/c/src/lib/libbsp/arm/gp32/Makefile.am:1.24    Fri Apr 30 09:30:09 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/Makefile.am Tue Oct 18 13:26:07 2011
</font><font color='#997700'>@@ -39,7 +39,9 @@
</font>     startup/memmap.c ../../shared/bootcard.c ../../shared/sbrk.c \
     ../../shared/gnatinstallhandler.c
 # console
<font color='#880000'>-libbsp_a_SOURCES += console/uart.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/uart.c ../../shared/console.c \
+    ../../shared/console_select.c  ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c<span style="background-color: #FF0000"> </span>
</font> # IRQ
 include_bsp_HEADERS += ../../shared/include/irq-generic.h \
        ../../shared/include/irq-info.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gp32/console/uart.c:1.6 rtems/c/src/lib/libbsp/arm/gp32/console/uart.c:1.7
--- rtems/c/src/lib/libbsp/arm/gp32/console/uart.c:1.6  Sun Apr 25 21:33:57 2010
+++ rtems/c/src/lib/libbsp/arm/gp32/console/uart.c      Tue Oct 18 13:26:07 2011
</font><font color='#997700'>@@ -46,11 +46,7 @@
</font> static int     uart_set_attributes(int minor, const struct termios *t);
 
 /* These are used by code in console.c */
<font color='#880000'>-unsigned long Console_Port_Count = NUM_DEVS;
-console_data  Console_Port_Data[NUM_DEVS];
-
-/* rtems console uses the following minor number */
-rtems_device_minor_number  Console_Port_Minor = 0;
</font><font color='#000088'>+unsigned long Console_Configuration_Count = NUM_DEVS;
</font> 
 /* Pointers to functions for handling the UART. */
 console_fns uart_fns =
<font color='#997700'>@@ -73,7 +69,7 @@
</font>  * by console.c, but may be used by drivers in libchip
  *
  */
<font color='#880000'>-console_tbl Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports[] = {
</font>     {
         "/dev/com0",                      /* sDeviceName */
         SERIAL_CUSTOM,                    /* deviceType */

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.58 rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.59
--- rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog:1.58   Fri Oct  7 06:00:48 2011
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/ChangeLog        Tue Oct 18 13:24:51 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/uart.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-10-07        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * make/custom/rtl22xx_t.cfg: Remove USE_THUMB (Violates *.cfg

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.18 rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.19
--- rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am:1.18 Fri Apr 30 09:24:03 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/Makefile.am      Tue Oct 18 13:24:51 2011
</font><font color='#997700'>@@ -41,7 +41,9 @@
</font>     ../../shared/bootcard.c ../../shared/sbrk.c \
     ../../shared/gnatinstallhandler.c
 # console
<font color='#880000'>-libbsp_a_SOURCES += ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += ../../shared/console.c \
+    ../../shared/console_select.c ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> # IRQ
 include_bsp_HEADERS += ../../shared/include/irq-generic.h \
        ../../shared/include/irq-info.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.7 rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.8
--- rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c:1.7       Fri Apr 30 09:24:03 2010
+++ rtems/c/src/lib/libbsp/arm/rtl22xx/console/uart.c   Tue Oct 18 13:24:51 2011
</font><font color='#997700'>@@ -45,11 +45,7 @@
</font> static int     uart_set_attributes(int minor, const struct termios *t);
 
 /* These are used by code in console.c */
<font color='#880000'>-unsigned long Console_Port_Count = NUM_DEVS;
-console_data  Console_Port_Data[NUM_DEVS];
-
-/* rtems console uses the following minor number */
-rtems_device_minor_number  Console_Port_Minor = 0;
</font><font color='#000088'>+unsigned long Console_Configuration_Count = NUM_DEVS;
</font> 
 /* Pointers to functions for handling the UART. */
 console_fns uart_fns =
<font color='#997700'>@@ -72,7 +68,7 @@
</font>  * by console.c, but may be used by drivers in libchip
  *
  */
<font color='#880000'>-console_tbl Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports[] = {
</font>     {
         "/dev/console",                   /* sDeviceName */
         SERIAL_CUSTOM,                    /* deviceType */
</pre>
<p> </p>
<a name='cs6'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/uarts.c: Modifications to add dynamic tables for
        libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/ChangeLog.diff?r1=text&tr1=1.74&r2=text&tr2=1.75&diff_format=h">M</a></td><td width='1%'>1.75</td><td width='100%'>c/src/lib/libbsp/arm/csb337/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/Makefile.am.diff?r1=text&tr1=1.33&r2=text&tr2=1.34&diff_format=h">M</a></td><td width='1%'>1.34</td><td width='100%'>c/src/lib/libbsp/arm/csb337/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/csb337/console/uarts.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/arm/csb337/console/uarts.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog.diff?r1=text&tr1=1.27&r2=text&tr2=1.28&diff_format=h">M</a></td><td width='1%'>1.28</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/gumstix/console/uarts.c.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/arm/gumstix/console/uarts.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.74 rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.75
--- rtems/c/src/lib/libbsp/arm/csb337/ChangeLog:1.74    Wed Feb  2 08:57:45 2011
+++ rtems/c/src/lib/libbsp/arm/csb337/ChangeLog Tue Oct 18 13:26:54 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/uarts.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.33 rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.34
--- rtems/c/src/lib/libbsp/arm/csb337/Makefile.am:1.33  Fri Apr 30 09:44:17 2010
+++ rtems/c/src/lib/libbsp/arm/csb337/Makefile.am       Tue Oct 18 13:26:55 2011
</font><font color='#997700'>@@ -61,7 +61,9 @@
</font>     startup/memmap.c ../../shared/bootcard.c ../../shared/sbrk.c \
     ../../shared/gnatinstallhandler.c
 # console
<font color='#880000'>-libbsp_a_SOURCES += ../../shared/console.c console/uarts.c
</font><font color='#000088'>+libbsp_a_SOURCES += ../../shared/console.c console/uarts.c \
+    ../../shared/console_select.c  ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c<span style="background-color: #FF0000"> </span>
</font> # IRQ
 include_bsp_HEADERS += ../../shared/include/irq-generic.h \
        ../../shared/include/irq-info.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/csb337/console/uarts.c:1.7 rtems/c/src/lib/libbsp/arm/csb337/console/uarts.c:1.8
--- rtems/c/src/lib/libbsp/arm/csb337/console/uarts.c:1.7       Mon Nov 30 16:00:35 2009
+++ rtems/c/src/lib/libbsp/arm/csb337/console/uarts.c   Tue Oct 18 13:26:55 2011
</font><font color='#997700'>@@ -18,7 +18,7 @@
</font>  *  Joel Sherrill, 2009.
  *
  *  $Id$
<font color='#880000'>-*/
</font><font color='#000088'>+ */
</font> 
 #include <bsp.h>
 #include <rtems/libio.h>
<font color='#997700'>@@ -31,8 +31,6 @@
</font> #include <libchip/sersupp.h>
 #include <bspopts.h>
 
<font color='#880000'>-/* rtems console uses the following minor number */
-rtems_device_minor_number  Console_Port_Minor = 0;
</font> extern console_fns dbgu_fns;
 
 #if ENABLE_LCD
<font color='#997700'>@@ -82,8 +80,7 @@
</font>   USART0_DEV + USART1_DEV + USART2_DEV + USART3_DEV)
 
 /* These are used by code in console.c */
<font color='#880000'>-unsigned long Console_Port_Count = NUM_DEVS;
-console_data  Console_Port_Data[NUM_DEVS];
</font><font color='#000088'>+unsigned long Console_Configuration_Count = NUM_DEVS;
</font> 
 /*
  * There's one item in array for each UART.
<font color='#997700'>@@ -94,7 +91,7 @@
</font>  * when we add other types of UARTS we will need to move this
  * structure to a generic uart.c file with only this in it
  */
<font color='#880000'>-console_tbl Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports[] = {
</font>   {
     "/dev/console",    /* sDeviceName */
     SERIAL_CUSTOM,     /* deviceType */
<font color='#997700'>@@ -244,5 +241,5 @@
</font> 
 console_tbl *BSP_get_uart_from_minor(int minor)
 {
<font color='#880000'>-    return &Console_Port_Tbl[minor];
</font><font color='#000088'>+    return Console_Port_Tbl[minor];
</font> }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.27 rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.28
--- rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog:1.27   Wed Feb  2 08:57:53 2011
+++ rtems/c/src/lib/libbsp/arm/gumstix/ChangeLog        Tue Oct 18 13:25:50 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/uarts.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.8 rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.9
--- rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am:1.8  Fri Apr 30 09:27:24 2010
+++ rtems/c/src/lib/libbsp/arm/gumstix/Makefile.am      Tue Oct 18 13:25:50 2011
</font><font color='#997700'>@@ -39,7 +39,9 @@
</font>   ../../shared/bspclean.c startup/bspstart.c startup/memmap.c
 
 #console
<font color='#880000'>-libbsp_a_SOURCES += console/uarts.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/uarts.c ../../shared/console.c \
+  ../../shared/console_select.c  ../../shared/console_control.c \
+  ../../shared/console_read.c ../../shared/console_write.c<span style="background-color: #FF0000"> </span>
</font> # IRQ
 include_bsp_HEADERS += ../../shared/include/irq-generic.h \
        ../../shared/include/irq-info.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/gumstix/console/uarts.c:1.2 rtems/c/src/lib/libbsp/arm/gumstix/console/uarts.c:1.3
--- rtems/c/src/lib/libbsp/arm/gumstix/console/uarts.c:1.2      Sun Nov 29 08:53:00 2009
+++ rtems/c/src/lib/libbsp/arm/gumstix/console/uarts.c  Tue Oct 18 13:25:50 2011
</font><font color='#997700'>@@ -27,11 +27,8 @@
</font> #define NUM_DEVS       1
 
 /* These are used by code in console.c */
<font color='#880000'>-unsigned long Console_Port_Count = NUM_DEVS;
-console_data  Console_Port_Data[NUM_DEVS];
</font><font color='#000088'>+unsigned long Console_Configuration_Count = NUM_DEVS;
</font> 
<font color='#880000'>-/* rtems console uses the following minor number */
-rtems_device_minor_number  Console_Port_Minor = 0;
</font> extern console_fns ffuart_fns;
 
 /*
<font color='#997700'>@@ -43,7 +40,7 @@
</font>  * when we add other types of UARTS we will need to move this
  * structure to a generic uart.c file with only this in it
  */
<font color='#880000'>-console_tbl Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports[] = {
</font>     {
         "/dev/console",    /* sDeviceName */
         SERIAL_CUSTOM,     /* deviceType */
<font color='#997700'>@@ -67,5 +64,5 @@
</font> 
 console_tbl *BSP_get_uart_from_minor(int minor)
 {
<font color='#880000'>-    return &Console_Port_Tbl[minor];
</font><font color='#000088'>+    return Console_Port_Tbl[minor];
</font> }
</pre>
<p> </p>
<a name='cs7'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am: Modifications to add dynamic tables for libchip serial
        drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog.diff?r1=text&tr1=1.32&r2=text&tr2=1.33&diff_format=h">M</a></td><td width='1%'>1.33</td><td width='100%'>c/src/lib/libbsp/arm/smdk2410/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/smdk2410/Makefile.am.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>c/src/lib/libbsp/arm/smdk2410/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/niagara/ChangeLog.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libbsp/sparc64/niagara/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/niagara/Makefile.am.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/sparc64/niagara/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/usiii/ChangeLog.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/sparc64/usiii/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/usiii/Makefile.am.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/sparc64/usiii/Makefile.am</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.32 rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.33
--- rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog:1.32  Fri Feb 11 05:48:22 2011
+++ rtems/c/src/lib/libbsp/arm/smdk2410/ChangeLog       Tue Oct 18 13:24:13 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am: Modifications to add dynamic tables for libchip serial
+       drivers.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * startup/bspreset.c:

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/smdk2410/Makefile.am:1.16 rtems/c/src/lib/libbsp/arm/smdk2410/Makefile.am:1.17
--- rtems/c/src/lib/libbsp/arm/smdk2410/Makefile.am:1.16        Fri Apr 30 08:54:08 2010
+++ rtems/c/src/lib/libbsp/arm/smdk2410/Makefile.am     Tue Oct 18 13:24:13 2011
</font><font color='#997700'>@@ -39,7 +39,10 @@
</font>     ../../shared/bsppredriverhook.c ../../shared/bspgetworkarea.c \
     ../../shared/gnatinstallhandler.c
 # console
<font color='#880000'>-libbsp_a_SOURCES += ../gp32/console/uart.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += ../gp32/console/uart.c ../../shared/console.c \
+    ../../shared/console_select.c \
+    ../../shared/console_read.c ../../shared/console_write.c \
+    ../../shared/console_control.c
</font> # IRQ
 include_bsp_HEADERS += ../../shared/include/irq-generic.h \
        ../../shared/include/irq-info.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/niagara/ChangeLog:1.8 rtems/c/src/lib/libbsp/sparc64/niagara/ChangeLog:1.9
--- rtems/c/src/lib/libbsp/sparc64/niagara/ChangeLog:1.8        Mon Jun 20 05:30:39 2011
+++ rtems/c/src/lib/libbsp/sparc64/niagara/ChangeLog    Tue Oct 18 13:28:37 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am: Modifications to add dynamic tables for libchip serial
+       drivers.
+
</font> 2011-06-20        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * Makefile.am: Don't reference non-existing files.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/niagara/Makefile.am:1.2 rtems/c/src/lib/libbsp/sparc64/niagara/Makefile.am:1.3
--- rtems/c/src/lib/libbsp/sparc64/niagara/Makefile.am:1.2      Mon Jun 20 05:30:38 2011
+++ rtems/c/src/lib/libbsp/sparc64/niagara/Makefile.am  Tue Oct 18 13:28:37 2011
</font><font color='#997700'>@@ -63,7 +63,9 @@
</font> #clock_SOURCES = ../../shared/clock_driver_simidle.c
 clock_SOURCES = ../shared/clock/ckinit.c
 
<font color='#880000'>-console_SOURCES = ../../shared/console.c  ../shared/console/conscfg.c
</font><font color='#000088'>+console_SOURCES = ../../shared/console.c  ../shared/console/conscfg.c \
+    ../../shared/console_select.c ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> 
 timer_SOURCES = ../../shared/timerstub.c
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/usiii/ChangeLog:1.9 rtems/c/src/lib/libbsp/sparc64/usiii/ChangeLog:1.10
--- rtems/c/src/lib/libbsp/sparc64/usiii/ChangeLog:1.9  Thu Oct  6 11:44:56 2011
+++ rtems/c/src/lib/libbsp/sparc64/usiii/ChangeLog      Tue Oct 18 13:27:51 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am: Modifications to add dynamic tables for libchip serial
+       drivers.
+
</font> 2011-10-06        Gedare Bloom <giddyup44@yahoo.com>
 
        PR 1919/bsp

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/usiii/Makefile.am:1.3 rtems/c/src/lib/libbsp/sparc64/usiii/Makefile.am:1.4
--- rtems/c/src/lib/libbsp/sparc64/usiii/Makefile.am:1.3        Thu Oct  6 11:44:56 2011
+++ rtems/c/src/lib/libbsp/sparc64/usiii/Makefile.am    Tue Oct 18 13:27:51 2011
</font><font color='#997700'>@@ -114,7 +114,9 @@
</font> #clock_SOURCES = ../../shared/clock_driver_simidle.c
 clock_SOURCES = ../shared/clock/ckinit.c
 
<font color='#880000'>-console_SOURCES = ../../shared/console.c  ../shared/console/conscfg.c
</font><font color='#000088'>+console_SOURCES = ../../shared/console.c  ../shared/console/conscfg.c \
+    ../../shared/console_select.c  ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> 
 timer_SOURCES = ../../shared/timerstub.c
 
</pre>
<p> </p>
<a name='cs8'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * shared/console/conscfg.c: Modifications to add dynamic tables for
        libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/ChangeLog.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>c/src/lib/libbsp/sparc64/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc64/shared/console/conscfg.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/sparc64/shared/console/conscfg.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/ChangeLog:1.12 rtems/c/src/lib/libbsp/sparc64/ChangeLog:1.13
--- rtems/c/src/lib/libbsp/sparc64/ChangeLog:1.12       Thu Oct  6 11:46:36 2011
+++ rtems/c/src/lib/libbsp/sparc64/ChangeLog    Tue Oct 18 13:29:18 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * shared/console/conscfg.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-10-06        Gedare Bloom <giddyup44@yahoo.com>
 
        PR 1920/bsp

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc64/shared/console/conscfg.c:1.3 rtems/c/src/lib/libbsp/sparc64/shared/console/conscfg.c:1.4
--- rtems/c/src/lib/libbsp/sparc64/shared/console/conscfg.c:1.3 Mon Mar 21 03:21:41 2011
+++ rtems/c/src/lib/libbsp/sparc64/shared/console/conscfg.c     Tue Oct 18 13:29:18 2011
</font><font color='#997700'>@@ -67,7 +67,7 @@
</font> };
 
 
<font color='#880000'>-console_tbl     Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl     Console_Configuration_Ports[] = {
</font> {
    NULL,                                   /* sDeviceName */
    SERIAL_CUSTOM,<span style="background-color: #FF0000">                    </span>        /* deviceType */
<font color='#997700'>@@ -97,11 +97,7 @@
</font> 
 #define NUM_CONSOLE_PORTS 1
 
<font color='#880000'>-unsigned long  Console_Port_Count = NUM_CONSOLE_PORTS;
-
-console_data  Console_Port_Data[NUM_CONSOLE_PORTS];
-
-rtems_device_minor_number  Console_Port_Minor;
</font><font color='#000088'>+unsigned long  Console_Configuration_Count = NUM_CONSOLE_PORTS;
</font> 
 
 /* putchar/getchar for printk */
</pre>
<p> </p>
<a name='cs9'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/erc32_console.c: Modifications to add dynamic
        tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog.diff?r1=text&tr1=1.169&r2=text&tr2=1.170&diff_format=h">M</a></td><td width='1%'>1.170</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am.diff?r1=text&tr1=1.58&r2=text&tr2=1.59&diff_format=h">M</a></td><td width='1%'>1.59</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/erc32/console/erc32_console.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/sparc/erc32/console/erc32_console.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.169 rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.170
--- rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.169  Sun Jun 19 01:49:20 2011
+++ rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog        Tue Oct 18 13:30:22 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/erc32_console.c: Modifications to add dynamic
+       tables for libchip serial drivers.
+
</font> 2011-06-19        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * Makefile.am: Fix broken path to clockdrv_shell.h.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.58 rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.59
--- rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.58 Sun Jun 19 01:49:20 2011
+++ rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am      Tue Oct 18 13:30:22 2011
</font><font color='#997700'>@@ -44,7 +44,9 @@
</font> # gnatsupp
 libbsp_a_SOURCES += gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
 # console
<font color='#880000'>-libbsp_a_SOURCES += console/erc32_console.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/erc32_console.c ../../shared/console.c \
+    ../../shared/console_select.c  ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> # debugio
 libbsp_a_SOURCES += console/debugputs.c
 # clock

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/erc32/console/erc32_console.c:1.3 rtems/c/src/lib/libbsp/sparc/erc32/console/erc32_console.c:1.4
--- rtems/c/src/lib/libbsp/sparc/erc32/console/erc32_console.c:1.3      Thu Mar  3 08:03:41 2011
+++ rtems/c/src/lib/libbsp/sparc/erc32/console/erc32_console.c  Tue Oct 18 13:30:22 2011
</font><font color='#997700'>@@ -58,8 +58,6 @@
</font> #endif
 static void erc32_console_initialize(int minor);
 
<font color='#880000'>-rtems_device_minor_number Console_Port_Minor = 0;
-
</font> #if (CONSOLE_USE_INTERRUPTS)
   console_fns erc32_fns = {
     libchip_serial_default_probe,           /* deviceProbe */
<font color='#997700'>@@ -86,7 +84,7 @@
</font>   };
 #endif
 
<font color='#880000'>-console_tbl Console_Port_Tbl [] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports [] = {
</font>   {
     .sDeviceName = "/dev/console_a",
     .deviceType = SERIAL_CUSTOM,
<font color='#997700'>@@ -130,9 +128,7 @@
</font> /* always exactly two uarts for erc32 */
 #define ERC32_UART_COUNT (2)
 
<font color='#880000'>-unsigned long Console_Port_Count = ERC32_UART_COUNT;
-
-console_data Console_Port_Data [ERC32_UART_COUNT];
</font><font color='#000088'>+unsigned long Console_Configuration_Count = ERC32_UART_COUNT;
</font> 
 static int erc32_console_first_open(int major, int minor, void *arg)
 {
<font color='#997700'>@@ -143,7 +139,7 @@
</font>   
   rtems_libio_open_close_args_t *oca = arg;
   struct rtems_termios_tty *tty = oca->iop->data1;
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   
   cd->termios_data = tty;
</pre>
<p> </p>
<a name='cs10'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * console/config.c: Modifications to add dynamic tables for libchip
        serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sh/gensh2/ChangeLog.diff?r1=text&tr1=1.125&r2=text&tr2=1.126&diff_format=h">M</a></td><td width='1%'>1.126</td><td width='100%'>c/src/lib/libbsp/sh/gensh2/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sh/gensh2/console/config.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/sh/gensh2/console/config.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sh/gensh2/ChangeLog:1.125 rtems/c/src/lib/libbsp/sh/gensh2/ChangeLog:1.126
--- rtems/c/src/lib/libbsp/sh/gensh2/ChangeLog:1.125    Wed Feb  2 09:00:28 2011
+++ rtems/c/src/lib/libbsp/sh/gensh2/ChangeLog  Tue Oct 18 13:31:09 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * console/config.c: Modifications to add dynamic tables for libchip
+       serial drivers.
+
</font> 2011-02-02        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * configure.ac: Require autoconf-2.68, automake-1.11.1.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sh/gensh2/console/config.c:1.4 rtems/c/src/lib/libbsp/sh/gensh2/console/config.c:1.5
--- rtems/c/src/lib/libbsp/sh/gensh2/console/config.c:1.4       Wed Apr 21 11:01:46 2004
+++ rtems/c/src/lib/libbsp/sh/gensh2/console/config.c   Tue Oct 18 13:31:09 2011
</font><font color='#997700'>@@ -80,7 +80,7 @@
</font>     { 0 }
 };
 
<font color='#880000'>-console_tbl        Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl   Console_Configuration_Ports[] = {
</font>     {
         "/dev/sci0",            /* sDeviceName */
         SERIAL_CUSTOM,          /* deviceType */
<font color='#997700'>@@ -125,10 +125,6 @@
</font>  *  Declare some information used by the console driver
  */
 
<font color='#880000'>-#define NUM_CONSOLE_PORTS (sizeof(Console_Port_Tbl)/sizeof(console_tbl))
</font><font color='#000088'>+#define NUM_CONSOLE_PORTS (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
</font> 
<font color='#880000'>-unsigned long  Console_Port_Count =  NUM_CONSOLE_PORTS;
-
-console_data  Console_Port_Data[NUM_CONSOLE_PORTS];
-
-rtems_device_minor_number  Console_Port_Minor;
</font><font color='#000088'>+unsigned long  Console_Configuration_Count =  NUM_CONSOLE_PORTS;
</font></pre>
<p> </p>
<a name='cs11'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/console-config.c, console/uart-bridge-master.c,
        console/uart-bridge-slave.c, startup/bspstart.c: Modifications to add
        dynamic tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/ChangeLog.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/Makefile.am.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/console/console-config.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/console/console-config.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/ChangeLog:1.2 rtems/c/src/lib/libbsp/powerpc/qoriq/ChangeLog:1.3
--- rtems/c/src/lib/libbsp/powerpc/qoriq/ChangeLog:1.2  Wed Aug 31 10:55:51 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/ChangeLog      Tue Oct 18 13:32:22 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/console-config.c, console/uart-bridge-master.c,
+       console/uart-bridge-slave.c, startup/bspstart.c: Modifications to add
+       dynamic tables for libchip serial drivers.
+
</font> 2011-08-31        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * startup/linkcmds.base: Removed file.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/Makefile.am:1.2 rtems/c/src/lib/libbsp/powerpc/qoriq/Makefile.am:1.3
--- rtems/c/src/lib/libbsp/powerpc/qoriq/Makefile.am:1.2        Wed Aug 31 10:55:51 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/Makefile.am    Tue Oct 18 13:32:22 2011
</font><font color='#997700'>@@ -94,9 +94,14 @@
</font> 
 # Console
 libbsp_a_SOURCES += ../../shared/console.c \
<font color='#000088'>+        ../../shared/console_select.c \
</font>   console/uart-bridge-master.c \
        console/uart-bridge-slave.c \
<font color='#880000'>-   console/console-config.c
</font><font color='#000088'>+      console/console-config.c \
+        ../../shared/console_read.c \
+        ../../shared/console_write.c \
+        ../../shared/console_control.c
+
</font> 
 # RTC
 libbsp_a_SOURCES += ../../shared/tod.c \

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/console/console-config.c:1.1 rtems/c/src/lib/libbsp/powerpc/qoriq/console/console-config.c:1.2
--- rtems/c/src/lib/libbsp/powerpc/qoriq/console/console-config.c:1.1   Thu Jul 21 10:18:00 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/console/console-config.c       Tue Oct 18 13:32:22 2011
</font><font color='#997700'>@@ -28,6 +28,7 @@
</font> 
 #include <libchip/serial.h>
 #include <libchip/ns16550.h>
<font color='#000088'>+#include "../../../shared/console_private.h"
</font> 
 #include <bspopts.h>
 #include <bsp/irq.h>
<font color='#997700'>@@ -116,13 +117,8 @@
</font>   }
 #endif
 
<font color='#880000'>-unsigned long Console_Port_Count = CONSOLE_COUNT;
-
-rtems_device_minor_number Console_Port_Minor;
-
-console_data Console_Port_Data [CONSOLE_COUNT];
-
-console_tbl Console_Port_Tbl [CONSOLE_COUNT] = {
</font><font color='#000088'>+unsigned long Console_Configuration_Count = CONSOLE_COUNT;
+console_tbl Console_Configuration_Ports [CONSOLE_COUNT] = {
</font>   #if QORIQ_UART_0_ENABLE
     {
       .sDeviceName = "/dev/ttyS0",
<font color='#997700'>@@ -193,7 +189,7 @@
</font> 
 static void output_char(char c)
 {
<font color='#880000'>-  const console_fns *con = Console_Port_Tbl [Console_Port_Minor].pDeviceFns;
</font><font color='#000088'>+  const console_fns *con = Console_Port_Tbl [Console_Port_Minor]->pDeviceFns;
</font>   
   if (c == '\n') {
     con->deviceWritePolled((int) Console_Port_Minor, '\r');

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c:1.1 rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c:1.2
--- rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c:1.1       Thu Jul 21 10:18:00 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-master.c   Tue Oct 18 13:32:23 2011
</font><font color='#997700'>@@ -150,7 +150,7 @@
</font> 
 static void initialize(int minor)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl [minor];
</font>   uart_bridge_master_control *control = ct->pDeviceParams;
   intercom_type type = control->type;
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c:1.1 rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c:1.2
--- rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c:1.1        Thu Jul 21 10:18:00 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/console/uart-bridge-slave.c    Tue Oct 18 13:32:23 2011
</font><font color='#997700'>@@ -129,7 +129,7 @@
</font> {
   rtems_libio_open_close_args_t *oc = (rtems_libio_open_close_args_t *) arg;
   struct rtems_termios_tty *tty = (struct rtems_termios_tty *) oc->iop->data1;
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl[minor];
</font>   console_data *cd = &Console_Port_Data [minor];
   uart_bridge_slave_control *control = ct->pDeviceParams;
   intercom_type type = control->type;
<font color='#997700'>@@ -145,7 +145,7 @@
</font> 
 static int last_close(int major, int minor, void *arg)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl[minor];
</font>   uart_bridge_slave_control *control = ct->pDeviceParams;
 
   qoriq_intercom_service_remove(control->type);
<font color='#997700'>@@ -156,7 +156,7 @@
</font> static ssize_t write_with_interrupts(int minor, const char *buf, size_t len)
 {
   rtems_status_code sc = RTEMS_SUCCESSFUL;
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl[minor];
</font>   uart_bridge_slave_control *control = ct->pDeviceParams;
   intercom_packet *packet = qoriq_intercom_allocate_packet(
     control->type,
<font color='#997700'>@@ -183,7 +183,7 @@
</font> 
 static void write_polled(int minor, char c)
 {
<font color='#880000'>-  console_tbl *ct = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *ct = Console_Port_Tbl[minor];
</font>   uart_bridge_slave_control *control = ct->pDeviceParams;
   intercom_packet *packet = qoriq_intercom_allocate_packet(
     control->type,

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c:1.1 rtems/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c:1.2
--- rtems/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c:1.1 Thu Jul 21 10:18:01 2011
+++ rtems/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c     Tue Oct 18 13:32:23 2011
</font><font color='#997700'>@@ -95,7 +95,7 @@
</font> 
   /* Initialize some console parameters */
   for (i = 0; i < Console_Port_Count; ++i) {
<font color='#880000'>-    console_tbl *ct = &Console_Port_Tbl [i];
</font><font color='#000088'>+    console_tbl *ct = &Console_Configuration_Ports[i];
</font> 
     ct->ulClock = BSP_bus_frequency;
 
</pre>
<p> </p>
<a name='cs12'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/console-config.c, startup/bspstart.c:
        Modifications to add dynamic tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog.diff?r1=text&tr1=1.107&r2=text&tr2=1.108&diff_format=h">M</a></td><td width='1%'>1.108</td><td width='100%'>c/src/lib/libbsp/powerpc/gen83xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am.diff?r1=text&tr1=1.34&r2=text&tr2=1.35&diff_format=h">M</a></td><td width='1%'>1.35</td><td width='100%'>c/src/lib/libbsp/powerpc/gen83xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c.diff?r1=text&tr1=1.32&r2=text&tr2=1.33&diff_format=h">M</a></td><td width='1%'>1.33</td><td width='100%'>c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.107 rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.108
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.107      Mon Sep 26 05:08:29 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog    Tue Oct 18 13:32:48 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/console-config.c, startup/bspstart.c:
+       Modifications to add dynamic tables for libchip serial drivers.
+
</font> 2011-09-27        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * make/custom/mpc8309som.cfg, startup/linkcmds.mpc8309som: New file.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.34 rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.35
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.34     Mon Sep 26 05:08:29 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am  Tue Oct 18 13:32:49 2011
</font><font color='#997700'>@@ -84,7 +84,11 @@
</font> 
 # console
 libbsp_a_SOURCES += ../../shared/console.c \
<font color='#880000'>-   console/console-config.c
</font><font color='#000088'>+        ../../shared/console_select.c \
+       console/console-config.c \
+        ../../shared/console_read.c \
+        ../../shared/console_write.c \
+        ../../shared/console_control.c
</font> # bsp_i2c
 libbsp_a_SOURCES += i2c/i2c_init.c
 # bsp_spi

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c:1.3 rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c:1.4
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c:1.3 Mon Sep 26 05:08:29 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c     Tue Oct 18 13:32:49 2011
</font><font color='#997700'>@@ -24,6 +24,7 @@
</font> 
 #include <libchip/serial.h>
 #include <libchip/ns16550.h>
<font color='#000088'>+#include "../../../shared/console_private.h"
</font> 
 #include <mpc83xx/mpc83xx.h>
 
<font color='#997700'>@@ -56,13 +57,9 @@
</font>   reg [i] = val;<span style="background-color: #FF0000"> </span>
 }
 
<font color='#880000'>-unsigned long Console_Port_Count = PORT_COUNT;
</font><font color='#000088'>+unsigned long Console_Configuration_Count = PORT_COUNT;
</font> 
<font color='#880000'>-rtems_device_minor_number Console_Port_Minor = 0;
-
-console_data Console_Port_Data [PORT_COUNT];
-
-console_tbl Console_Port_Tbl [PORT_COUNT] = {
</font><font color='#000088'>+console_tbl Console_Configuration_Ports [PORT_COUNT] = {
</font>   {
     .sDeviceName = "/dev/ttyS0",
     .deviceType = SERIAL_NS16550,
<font color='#997700'>@@ -115,7 +112,7 @@
</font> 
 static void gen83xx_output_char(char c)
 {
<font color='#880000'>-  const console_fns *console = Console_Port_Tbl [Console_Port_Minor].pDeviceFns;
</font><font color='#000088'>+  const console_fns *console = Console_Port_Tbl [Console_Port_Minor]->pDeviceFns;
</font>   
   if (c == '\n') {
     console->deviceWritePolled((int) Console_Port_Minor, '\r');

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.32 rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.33
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.32      Tue Jun  7 08:34:30 2011
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c   Tue Oct 18 13:32:49 2011
</font><font color='#997700'>@@ -121,10 +121,10 @@
</font> 
   /* Initialize some console parameters */
   for (i = 0; i < Console_Port_Count; ++i) {
<font color='#880000'>-    Console_Port_Tbl [i].ulClock = BSP_bus_frequency;
</font><font color='#000088'>+    Console_Configuration_Ports [i].ulClock = BSP_bus_frequency;
</font> 
     #ifdef HAS_UBOOT
<font color='#880000'>-      Console_Port_Tbl [i].pDeviceParams =
</font><font color='#000088'>+      Console_Configuration_Ports [i].pDeviceParams =
</font>         (void *) bsp_uboot_board_info.bi_baudrate;
     #endif
   }
</pre>
<p> </p>
<a name='cs13'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, preinstall.am, console/config.c, console/mc68360_scc.c,
        console/ns16550cfg.c, console/printk_support.c: Modifications to add
        dynamic tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog.diff?r1=text&tr1=1.97&r2=text&tr2=1.98&diff_format=h">M</a></td><td width='1%'>1.98</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/Makefile.am.diff?r1=text&tr1=1.34&r2=text&tr2=1.35&diff_format=h">M</a></td><td width='1%'>1.35</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/console/config.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/console/config.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=h">M</a></td><td width='1%'>1.7</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/ep1a/preinstall.am.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>c/src/lib/libbsp/powerpc/ep1a/preinstall.am</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.97 rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.98
--- rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog:1.97  Wed Aug 24 04:51:30 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/ChangeLog       Tue Oct 18 13:33:03 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, preinstall.am, console/config.c, console/mc68360_scc.c,
+       console/ns16550cfg.c, console/printk_support.c: Modifications to add
+       dynamic tables for libchip serial drivers.
+
</font> 2011-08-24        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * console/polled_io.c: Update due to API changes.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/Makefile.am:1.34 rtems/c/src/lib/libbsp/powerpc/ep1a/Makefile.am:1.35
--- rtems/c/src/lib/libbsp/powerpc/ep1a/Makefile.am:1.34        Tue Aug 23 13:06:08 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/Makefile.am     Tue Oct 18 13:33:03 2011
</font><font color='#997700'>@@ -48,13 +48,17 @@
</font>     ../../powerpc/shared/motorola/motorola.h \
     ../../powerpc/shared/residual/residual.h \
     ../../powerpc/shared/residual/pnp.h \
<font color='#880000'>-    ../../powerpc/shared/console/consoleIo.h console/rsPMCQ1.h
</font><font color='#000088'>+    ../../powerpc/shared/console/consoleIo.h console/rsPMCQ1.h \
+    ../../shared/console_private.h
+
</font> # console
<font color='#880000'>-libbsp_a_SOURCES += ../../shared/console.c console/ns16550cfg.c \
</font><font color='#000088'>+libbsp_a_SOURCES += console/ns16550cfg.c \
</font>     console/mc68360_scc.c console/rsPMCQ1.c console/alloc360.c \
     console/init68360.c console/config.c console/printk_support.c \
<font color='#880000'>-    console/config.c
-
</font><font color='#000088'>+    ../../shared/console.c ../../shared/console_select.c \
+    ../../shared/console_read.c ../../shared/console_write.c \
+    ../../shared/console_control.c
+<span style="background-color: #FF0000"> </span>
</font> include_bsp_HEADERS += ../../powerpc/shared/openpic/openpic.h
 # openpic
 libbsp_a_SOURCES += ../../powerpc/shared/openpic/openpic.h \

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/console/config.c:1.9 rtems/c/src/lib/libbsp/powerpc/ep1a/console/config.c:1.10
--- rtems/c/src/lib/libbsp/powerpc/ep1a/console/config.c:1.9    Tue Aug 23 13:06:08 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/console/config.c        Tue Oct 18 13:33:04 2011
</font><font color='#997700'>@@ -81,7 +81,7 @@
</font>  * ulIntVector    This encodes the interrupt vector of the device.
  *
  */
<font color='#880000'>-console_tbl        Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl   Console_Configuration_Ports[] = {
</font>         /*
          *  NS16550 Chips provide first COM1 and COM2 Ports.
          */
<font color='#997700'>@@ -363,12 +363,12 @@
</font>         }
 };
 
<font color='#880000'>-/* rtems console uses the following minor number */
-rtems_device_minor_number  Console_Port_Minor = 0;
-
-#define NUM_CONSOLE_PORTS (sizeof(Console_Port_Tbl)/sizeof(console_tbl))
-unsigned long  Console_Port_Count = NUM_CONSOLE_PORTS;
-console_data    Console_Port_Data[NUM_CONSOLE_PORTS];
</font><font color='#000088'>+/*<span style="background-color: #FF0000"> </span>
+ *  Define a variable that contains the number of statically configured
+ *  console devices.
+ */
+unsigned long  Console_Configuration_Count = \
+    (sizeof(Console_Configuration_Ports)/sizeof(console_tbl));
</font> 
 static bool config_68360_scc_base_probe(int minor, unsigned long busNo, unsigned long slotNo, int channel)
 {
<font color='#997700'>@@ -386,7 +386,7 @@
</font>   if (!chip)
     return false;
 
<font color='#880000'>-  Console_Port_Tbl[minor].pDeviceParams = &chip->port[ channel-1 ];
</font><font color='#000088'>+  Console_Port_Tbl[minor]->pDeviceParams = &chip->port[ channel-1 ];
</font>   chip->port[ channel-1 ].minor         = minor;
   return true;
 }

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c:1.6 rtems/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c:1.7
--- rtems/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c:1.6       Thu Dec 17 02:42:16 2009
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/console/mc68360_scc.c   Tue Oct 18 13:33:04 2011
</font><font color='#997700'>@@ -48,7 +48,7 @@
</font> M68360_t    M68360_chips = NULL;
 
 #define SYNC     eieio
<font color='#880000'>-#define mc68360_scc_Is_422( _minor ) (Console_Port_Tbl[minor].sDeviceName[7] == '4' )
</font><font color='#000088'>+#define mc68360_scc_Is_422( _minor ) (Console_Port_Tbl[minor]->sDeviceName[7] == '4' )
</font> 
 
 void mc68360_scc_nullFunc(void) {}
<font color='#997700'>@@ -147,7 +147,7 @@
</font> 
 void mc68360_sccShow_Regs(int minor){
   M68360_serial_ports_t  ptr;
<font color='#880000'>-  ptr   = Console_Port_Tbl[minor].pDeviceParams;
</font><font color='#000088'>+  ptr   = Console_Port_Tbl[minor]->pDeviceParams;
</font> 
   printk( "scce 0x%08x", &ptr->pSCCR->scce );
   printk( " 0x%04x\n", ptr->pSCCR->scce );
<font color='#997700'>@@ -343,7 +343,7 @@
</font> #endif
 
 
<font color='#880000'>-  ptr   = Console_Port_Tbl[minor].pDeviceParams;
</font><font color='#000088'>+  ptr   = Console_Port_Tbl[minor]->pDeviceParams;
</font>   m360  = ptr->chip->m360;
 
   /*
<font color='#997700'>@@ -402,11 +402,11 @@
</font> 
 #ifdef DEBUG_360
   printk("mc68360_scc_initialize_interrupts: minor %d\n", minor );
<font color='#880000'>-  printk("Console_Port_Tbl[minor].pDeviceParams 0x%08x\n",
-    Console_Port_Tbl[minor].pDeviceParams );
</font><font color='#000088'>+  printk("Console_Port_Tbl[minor]->pDeviceParams 0x%08x\n",
+    Console_Port_Tbl[minor]->pDeviceParams );
</font> #endif
 
<font color='#880000'>-  ptr   = Console_Port_Tbl[minor].pDeviceParams;
</font><font color='#000088'>+  ptr   = Console_Port_Tbl[minor]->pDeviceParams;
</font>   m360  = ptr->chip->m360;
 
 #ifdef DEBUG_360
<font color='#997700'>@@ -671,7 +671,7 @@
</font>     mc68360_length_count=0;
 #endif
 
<font color='#880000'>-  ptr   = Console_Port_Tbl[minor].pDeviceParams;
</font><font color='#000088'>+  ptr   = Console_Port_Tbl[minor]->pDeviceParams;
</font> 
   /*
    *  We are using interrupt driven output and termios only sends us
<font color='#997700'>@@ -744,7 +744,7 @@
</font> printk("mc68360_scc_set_attributes\n");
 #endif
 
<font color='#880000'>-   ptr   = Console_Port_Tbl[minor].pDeviceParams;
</font><font color='#000088'>+   ptr   = Console_Port_Tbl[minor]->pDeviceParams;
</font>    m360  = ptr->chip->m360;
 
    switch (t->c_cflag & CBAUD)

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c:1.6 rtems/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c:1.7
--- rtems/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c:1.6        Fri Feb 11 06:44:30 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/console/ns16550cfg.c    Tue Oct 18 13:33:04 2011
</font><font color='#997700'>@@ -12,8 +12,9 @@
</font>  */
 
 #include <rtems.h>
<font color='#000088'>+#include <libchip/serial.h>
+#include <libchip/ns16550.h>
</font> #include <bsp.h>
<font color='#880000'>-#include "console.h"
</font> 
 typedef struct uart_reg
 {

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c:1.1 rtems/c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c:1.2
--- rtems/c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c:1.1    Tue Aug 23 13:06:08 2011
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/console/printk_support.c        Tue Oct 18 13:33:04 2011
</font><font color='#997700'>@@ -16,10 +16,10 @@
</font> #include <stdlib.h>
 #include <assert.h>
 #include <termios.h>
<font color='#880000'>-
-#include "console.h"
</font> #include <rtems/bspIo.h>
 
<font color='#000088'>+rtems_device_minor_number         BSPPrintkPort = 0;
+
</font> /* const char arg to be compatible with BSP_output_char decl. */
 void
 debug_putc_onlcr(const char c)

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/ep1a/preinstall.am:1.13 rtems/c/src/lib/libbsp/powerpc/ep1a/preinstall.am:1.14
--- rtems/c/src/lib/libbsp/powerpc/ep1a/preinstall.am:1.13      Fri Oct 23 02:32:44 2009
+++ rtems/c/src/lib/libbsp/powerpc/ep1a/preinstall.am   Tue Oct 18 13:33:03 2011
</font><font color='#997700'>@@ -93,6 +93,10 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/rsPMCQ1.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/rsPMCQ1.h
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/console_private.h: ../../shared/console_private.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/console_private.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/console_private.h
+
</font> $(PROJECT_INCLUDE)/bsp/openpic.h: ../../powerpc/shared/openpic/openpic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/openpic.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/openpic.h
</pre>
<p> </p>
<a name='cs14'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/consolelite.c: Modifications to add dynamic
        tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/virtex/ChangeLog.diff?r1=text&tr1=1.62&r2=text&tr2=1.63&diff_format=h">M</a></td><td width='1%'>1.63</td><td width='100%'>c/src/lib/libbsp/powerpc/virtex/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/virtex/Makefile.am.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>c/src/lib/libbsp/powerpc/virtex/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/powerpc/virtex/console/consolelite.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>c/src/lib/libbsp/powerpc/virtex/console/consolelite.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/virtex/ChangeLog:1.62 rtems/c/src/lib/libbsp/powerpc/virtex/ChangeLog:1.63
--- rtems/c/src/lib/libbsp/powerpc/virtex/ChangeLog:1.62        Sat Jun 18 02:23:22 2011
+++ rtems/c/src/lib/libbsp/powerpc/virtex/ChangeLog     Tue Oct 18 13:34:01 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/consolelite.c: Modifications to add dynamic
+       tables for libchip serial drivers.
+
</font> 2011-06-18        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * Makefile.am: Remove references to non-existing files.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/virtex/Makefile.am:1.18 rtems/c/src/lib/libbsp/powerpc/virtex/Makefile.am:1.19
--- rtems/c/src/lib/libbsp/powerpc/virtex/Makefile.am:1.18      Sat Jun 18 02:23:22 2011
+++ rtems/c/src/lib/libbsp/powerpc/virtex/Makefile.am   Tue Oct 18 13:34:02 2011
</font><font color='#997700'>@@ -43,8 +43,9 @@
</font> # dlentry
 libbsp_a_SOURCES += dlentry/dlentry.S
 # bspconsole
<font color='#880000'>-libbsp_a_SOURCES += console/consolelite.c ../../shared/console.c
-
</font><font color='#000088'>+libbsp_a_SOURCES += console/consolelite.c ../../shared/console.c \
+    ../../shared/console_select.c ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c<span style="background-color: #FF0000"> </span>
</font> include_bsp_HEADERS = include/opbintctrl.h
 # opbintctrl
 libbsp_a_SOURCES += opbintctrl/opbintctrl.c

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/powerpc/virtex/console/consolelite.c:1.4 rtems/c/src/lib/libbsp/powerpc/virtex/console/consolelite.c:1.5
--- rtems/c/src/lib/libbsp/powerpc/virtex/console/consolelite.c:1.4     Sun May 23 00:42:35 2010
+++ rtems/c/src/lib/libbsp/powerpc/virtex/console/consolelite.c Tue Oct 18 13:34:02 2011
</font><font color='#997700'>@@ -121,7 +121,7 @@
</font> 
 void xlite_init (int minor )
 {
<font color='#880000'>-   uint32_t base = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   uint32_t base = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
    /* clear status register */
    *((volatile uint32_t*)(base+STAT_REG)) = 0;
<font color='#997700'>@@ -137,7 +137,7 @@
</font>   void    *arg
 )
 {
<font color='#880000'>-   uint32_t base = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   uint32_t base = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
    /* the lite uarts have hardcoded baud & serial parms so no port
     * conditioning is needed.  We're running polled so no interrupt
<font color='#997700'>@@ -167,7 +167,7 @@
</font> 
 int xlite_read_polled (int minor )
 {
<font color='#880000'>-   uint32_t base = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   uint32_t base = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
    unsigned int status = xlite_uart_status(base);
 
<font color='#997700'>@@ -186,7 +186,7 @@
</font>   size_t      len
 )
 {
<font color='#880000'>-   uint32_t base = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   uint32_t base = Console_Port_Tbl[minor]->ulCtrlPort1;
</font>    int nwrite = 0;
 
    /*
<font color='#997700'>@@ -210,7 +210,7 @@
</font>   char  c
 )
 {
<font color='#880000'>-   uint32_t base = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   uint32_t base = Console_Port_Tbl[minor]->ulCtrlPort1;
</font>    xlite_write_char(base, c);
    return;
 }
<font color='#997700'>@@ -251,7 +251,7 @@
</font> */
 
 
<font color='#880000'>-console_tbl     Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl     Console_Configuration_Ports[] = {
</font> {
   "/dev/ttyS0",                             /* sDeviceName */
    SERIAL_CUSTOM,                           /* deviceType */
<font color='#997700'>@@ -333,17 +333,10 @@
</font> 
 
 
<font color='#880000'>-#define NUM_CONSOLE_PORTS (sizeof(Console_Port_Tbl)/sizeof(console_tbl))
-
-unsigned long                  Console_Port_Count = NUM_CONSOLE_PORTS;
-console_data                   Console_Port_Data[NUM_CONSOLE_PORTS];
-rtems_device_minor_number      Console_Port_Minor;
-
-
-
-
-
</font><font color='#000088'>+#define NUM_CONSOLE_PORTS \
+  (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
</font> 
<font color='#000088'>+unsigned long Console_Configuration_Count = NUM_CONSOLE_PORTS;
</font> 
 
 #include <rtems/bspIo.h>
</pre>
<p> </p>
<a name='cs15'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * Makefile.am, console/conscfg.c: Modifications to add dynamic tables
        for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/m68k/sim68000/ChangeLog.diff?r1=text&tr1=1.114&r2=text&tr2=1.115&diff_format=h">M</a></td><td width='1%'>1.115</td><td width='100%'>c/src/lib/libbsp/m68k/sim68000/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/m68k/sim68000/Makefile.am.diff?r1=text&tr1=1.36&r2=text&tr2=1.37&diff_format=h">M</a></td><td width='1%'>1.37</td><td width='100%'>c/src/lib/libbsp/m68k/sim68000/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>c/src/lib/libbsp/m68k/sim68000/console/conscfg.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog.diff?r1=text&tr1=1.134&r2=text&tr2=1.135&diff_format=h">M</a></td><td width='1%'>1.135</td><td width='100%'>c/src/lib/libbsp/mips/genmongoosev/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/mips/genmongoosev/Makefile.am.diff?r1=text&tr1=1.39&r2=text&tr2=1.40&diff_format=h">M</a></td><td width='1%'>1.40</td><td width='100%'>c/src/lib/libbsp/mips/genmongoosev/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/m68k/sim68000/ChangeLog:1.114 rtems/c/src/lib/libbsp/m68k/sim68000/ChangeLog:1.115
--- rtems/c/src/lib/libbsp/m68k/sim68000/ChangeLog:1.114        Fri Feb 11 06:34:24 2011
+++ rtems/c/src/lib/libbsp/m68k/sim68000/ChangeLog      Tue Oct 18 13:35:25 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/conscfg.c: Modifications to add dynamic tables
+       for libchip serial drivers.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * include/bsp.h:

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/m68k/sim68000/Makefile.am:1.36 rtems/c/src/lib/libbsp/m68k/sim68000/Makefile.am:1.37
--- rtems/c/src/lib/libbsp/m68k/sim68000/Makefile.am:1.36       Thu Oct  2 16:39:02 2008
+++ rtems/c/src/lib/libbsp/m68k/sim68000/Makefile.am    Tue Oct 18 13:35:25 2011
</font><font color='#997700'>@@ -40,7 +40,9 @@
</font> # clock
 libbsp_a_SOURCES += clock/clockdrv.c ../../../shared/clockdrv_shell.h
 # console
<font color='#880000'>-libbsp_a_SOURCES += console/conscfg.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/conscfg.c ../../shared/console.c \
+    ../../shared/console_select.c ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> # debugio
 libbsp_a_SOURCES += console/debugio.c
 # timer

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c:1.7 rtems/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c:1.8
--- rtems/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c:1.7  Fri Aug 28 13:20:12 2009
+++ rtems/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c      Tue Oct 18 13:35:25 2011
</font><font color='#997700'>@@ -38,7 +38,7 @@
</font> #define MC68681_FUNCTIONS &mc68681_fns_polled
 #endif
 
<font color='#880000'>-console_tbl  Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl  Console_Configuration_Ports[] = {
</font>   {
     "/dev/com0",                        /* sDeviceName */
     SERIAL_MC68681,                     /* deviceType */
<font color='#997700'>@@ -64,10 +64,6 @@
</font>  *  Declare some information used by the console driver
  */
 
<font color='#880000'>-#define NUM_CONSOLE_PORTS (sizeof(Console_Port_Tbl)/sizeof(console_tbl))
</font><font color='#000088'>+#define NUM_CONSOLE_PORTS (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
</font> 
<font color='#880000'>-unsigned long  Console_Port_Count = NUM_CONSOLE_PORTS;
-
-console_data  Console_Port_Data[NUM_CONSOLE_PORTS];
-
-rtems_device_minor_number  Console_Port_Minor;
</font><font color='#000088'>+unsigned long  Console_Configuration_Count = NUM_CONSOLE_PORTS;
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.134 rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.135
--- rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.134    Sun Jun 19 02:27:07 2011
+++ rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog  Tue Oct 18 13:34:46 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * Makefile.am, console/conscfg.c: Modifications to add dynamic tables
+       for libchip serial drivers.
+
</font> 2011-06-19        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * Makefile.am: Fix broken path to clockdrv_shell.h.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/mips/genmongoosev/Makefile.am:1.39 rtems/c/src/lib/libbsp/mips/genmongoosev/Makefile.am:1.40
--- rtems/c/src/lib/libbsp/mips/genmongoosev/Makefile.am:1.39   Sun Jun 19 02:27:07 2011
+++ rtems/c/src/lib/libbsp/mips/genmongoosev/Makefile.am        Tue Oct 18 13:34:47 2011
</font><font color='#997700'>@@ -40,7 +40,9 @@
</font> libbsp_a_SOURCES += clock/clockdrv.c
 libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
 # console
<font color='#880000'>-libbsp_a_SOURCES += console/conscfg.c ../../shared/console.c
</font><font color='#000088'>+libbsp_a_SOURCES += console/conscfg.c ../../shared/console.c \
+    ../../shared/console_select.c ../../shared/console_control.c \
+    ../../shared/console_read.c ../../shared/console_write.c
</font> # timer
 libbsp_a_SOURCES += timer/timer.c
 

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c:1.9 rtems/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c:1.10
--- rtems/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c:1.9      Wed Apr 14 03:59:02 2010
+++ rtems/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c  Tue Oct 18 13:34:47 2011
</font><font color='#997700'>@@ -28,7 +28,7 @@
</font> #define MG5UART_FUNCTIONS &mg5uart_fns_polled
 #endif
 
<font color='#880000'>-console_tbl     Console_Port_Tbl[] = {
</font><font color='#000088'>+console_tbl     Console_Configuration_Ports[] = {
</font> {
   "/dev/com0",                             /* sDeviceName */
    SERIAL_MG5UART,                         /* deviceType */
<font color='#997700'>@@ -73,13 +73,9 @@
</font>  *  Declare some information used by the console driver
  */
 
<font color='#880000'>-#define NUM_CONSOLE_PORTS (sizeof(Console_Port_Tbl)/sizeof(console_tbl))
</font><font color='#000088'>+#define NUM_CONSOLE_PORTS (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
</font> 
<font color='#880000'>-unsigned long  Console_Port_Count = NUM_CONSOLE_PORTS;
-
-console_data  Console_Port_Data[NUM_CONSOLE_PORTS];
-
-rtems_device_minor_number  Console_Port_Minor;
</font><font color='#000088'>+unsigned long  Console_Configuration_Count = NUM_CONSOLE_PORTS;
</font> 
 /*
  *  printk() support that simply routes printk to stderr
</pre>
<p> </p>
<a name='cs16'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * sh7045/sci/sci_termios.c: Modifications to add dynamic tables for
        libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/sh/ChangeLog.diff?r1=text&tr1=1.65&r2=text&tr2=1.66&diff_format=h">M</a></td><td width='1%'>1.66</td><td width='100%'>c/src/lib/libcpu/sh/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libcpu/sh/ChangeLog:1.65 rtems/c/src/lib/libcpu/sh/ChangeLog:1.66
--- rtems/c/src/lib/libcpu/sh/ChangeLog:1.65    Fri Feb 11 03:57:25 2011
+++ rtems/c/src/lib/libcpu/sh/ChangeLog Tue Oct 18 13:37:32 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * sh7045/sci/sci_termios.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * sh7032/delay/delay.c, sh7032/score/cpu_asm.c,

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c:1.8 rtems/c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c:1.9
--- rtems/c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c:1.8      Fri Feb 11 03:57:25 2011
+++ rtems/c/src/lib/libcpu/sh/sh7045/sci/sci_termios.c  Tue Oct 18 13:37:32 2011
</font><font color='#997700'>@@ -38,15 +38,15 @@
</font>  * Some handy macros
  */
 #define SH_SCI_REG_DATA(_data, _minor, _register) \
<font color='#880000'>- (write8(_data, Console_Port_Tbl[_minor].ulCtrlPort1 + (_register)))
</font><font color='#000088'>+ (write8(_data, Console_Port_Tbl[_minor]->ulCtrlPort1 + (_register)))
</font> 
 #define SH_SCI_REG_FLAG(_flag, _minor, _register) \
<font color='#880000'>- (write8(read8(Console_Port_Tbl[_minor].ulCtrlPort1 + (_register)) | (_flag), \
-         Console_Port_Tbl[_minor].ulCtrlPort1 + (_register)))
</font><font color='#000088'>+ (write8(read8(Console_Port_Tbl[_minor]->ulCtrlPort1 + (_register)) | (_flag), \
+         Console_Port_Tbl[_minor]->ulCtrlPort1 + (_register)))
</font> 
 #define SH_SCI_REG_MASK(_flag, _minor, _register) \
<font color='#880000'>- (write8(read8(Console_Port_Tbl[_minor].ulCtrlPort1 + (_register)) & ~(_flag), \
-         Console_Port_Tbl[_minor].ulCtrlPort1 + (_register)))
</font><font color='#000088'>+ (write8(read8(Console_Port_Tbl[_minor]->ulCtrlPort1 + (_register)) & ~(_flag),\
+         Console_Port_Tbl[_minor]->ulCtrlPort1 + (_register)))
</font> 
 /*
  * NOTE: Some SH variants have 3 sci devices
<font color='#997700'>@@ -131,13 +131,13 @@
</font>     int minor;
 
     for (minor = 0; minor < Console_Port_Count; minor++) {
<font color='#880000'>-        if (Console_Port_Tbl[minor].ulIntVector == vector) {
</font><font color='#000088'>+        if (Console_Port_Tbl[minor]->ulIntVector == vector) {
</font>             char   temp8;
 
             /*
              * FIXME: error handling should be added
              */
<font color='#880000'>-            temp8 = read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_RDR);
</font><font color='#000088'>+            temp8 = read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_RDR);
</font> 
             rtems_termios_enqueue_raw_characters(
                 Console_Port_Data[minor].termios_data, &temp8, 1);
<font color='#997700'>@@ -158,7 +158,7 @@
</font>     int minor;
 
     for (minor = 0; minor < Console_Port_Count; minor++) {
<font color='#880000'>-        if (Console_Port_Tbl[minor].ulDataPort == vector) {
</font><font color='#000088'>+        if (Console_Port_Tbl[minor]->ulDataPort == vector) {
</font>             /*
              * FIXME: Error handling should be added
              */
<font color='#997700'>@@ -224,7 +224,7 @@
</font>     /*
      * Disable IRQ of SCIx
      */
<font color='#880000'>-    status = sh_set_irq_priority( Console_Port_Tbl[minor].ulIntVector, 0);
</font><font color='#000088'>+    status = sh_set_irq_priority( Console_Port_Tbl[minor]->ulIntVector, 0);
</font> 
     if (status != RTEMS_SUCCESSFUL)
         rtems_fatal_error_occurred(status);
<font color='#997700'>@@ -236,7 +236,7 @@
</font>      */
     status = rtems_interrupt_catch(
         sh_sci_rx_isr,
<font color='#880000'>-        Console_Port_Tbl[minor].ulIntVector,
</font><font color='#000088'>+        Console_Port_Tbl[minor]->ulIntVector,
</font>         &old_isr);
 
     if (status != RTEMS_SUCCESSFUL)
<font color='#997700'>@@ -244,7 +244,7 @@
</font> 
     status = rtems_interrupt_catch(
         sh_sci_tx_isr,
<font color='#880000'>-        Console_Port_Tbl[minor].ulDataPort,
</font><font color='#000088'>+        Console_Port_Tbl[minor]->ulDataPort,
</font>         &old_isr);
 
     if (status != RTEMS_SUCCESSFUL)
<font color='#997700'>@@ -256,8 +256,8 @@
</font>     SH_SCI_REG_FLAG(SCI_RIE, minor, SCI_SCR);
 
     status = sh_set_irq_priority(
<font color='#880000'>-        Console_Port_Tbl[minor].ulIntVector,
-        Console_Port_Tbl[minor].ulCtrlPort2);
</font><font color='#000088'>+        Console_Port_Tbl[minor]->ulIntVector,
+        Console_Port_Tbl[minor]->ulCtrlPort2);
</font> 
     if (status != RTEMS_SUCCESSFUL)
         rtems_fatal_error_occurred(status);
<font color='#997700'>@@ -292,28 +292,28 @@
</font>     SH_SCI_REG_DATA(0x00, minor, SCI_SCR);
 
     /* set SMR and BRR - baudrate and format */
<font color='#880000'>-    sh_sci_set_attributes(minor, Console_Port_Tbl[minor].pDeviceParams);
</font><font color='#000088'>+    sh_sci_set_attributes(minor, Console_Port_Tbl[minor]->pDeviceParams);
</font> 
     for (a=0; a < 10000L; a++) {                      /* Delay */
         __asm__ volatile ("nop");
     }
 
     write8((SCI_RE | SCI_TE),              /* enable async. Tx and Rx */
<font color='#880000'>-           Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SCR);
</font><font color='#000088'>+           Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SCR);
</font> 
     /*
      * clear error flags
      */
<font color='#880000'>-    temp8 = read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SSR);
</font><font color='#000088'>+    temp8 = read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SSR);
</font>     while(temp8 & (SCI_RDRF | SCI_ORER | SCI_FER | SCI_PER)) {
         /* flush input */
<font color='#880000'>-        temp8 = read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_RDR);
</font><font color='#000088'>+        temp8 = read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_RDR);
</font> 
         /* clear some flags */
<font color='#880000'>-        SH_SCI_REG_FLAG((SCI_RDRF | SCI_ORER | SCI_FER | SCI_PER), minor, SCI_SSR);
</font><font color='#000088'>+        SH_SCI_REG_FLAG((SCI_RDRF|SCI_ORER|SCI_FER|SCI_PER), minor, SCI_SSR);
</font> 
         /* check if everything is OK */
<font color='#880000'>-        temp8 = read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SSR);
</font><font color='#000088'>+        temp8 = read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SSR);
</font>     }
 
     /* Clear RDRF flag */
<font color='#997700'>@@ -325,7 +325,7 @@
</font>     /*
      * Interrupt setup
      */
<font color='#880000'>-    if (Console_Port_Tbl[minor].pDeviceFns->deviceOutputUsesInterrupts) {
</font><font color='#000088'>+    if (Console_Port_Tbl[minor]->pDeviceFns->deviceOutputUsesInterrupts) {
</font>         SH_SCI_REG_FLAG(SCI_RIE, minor, SCI_SCR);
     }
 
<font color='#997700'>@@ -345,7 +345,7 @@
</font>     /* FIXME: Incomplete */
 
     /* Shutdown interrupts if necessary */
<font color='#880000'>-    if (Console_Port_Tbl[minor].pDeviceFns->deviceOutputUsesInterrupts)
</font><font color='#000088'>+    if (Console_Port_Tbl[minor]->pDeviceFns->deviceOutputUsesInterrupts)
</font>     {
         SH_SCI_REG_MASK((SCI_TIE | SCI_RIE), minor, SCI_SCR);
     }
<font color='#997700'>@@ -408,7 +408,7 @@
</font>     /*
      * Wait for end of previous character
      */
<font color='#880000'>-    while(!(read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SSR) & SCI_TDRE));
</font><font color='#000088'>+    while(!(read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SSR) & SCI_TDRE));
</font>     /*
      * Send the character
      */
<font color='#997700'>@@ -430,14 +430,14 @@
</font>     /*
      * Check if input buffer is full
      */
<font color='#880000'>-    if (read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SSR) & SCI_RDRF) {
-        inbyte = read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_RDR);
</font><font color='#000088'>+    if (read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SSR) & SCI_RDRF) {
+        inbyte = read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_RDR);
</font>         SH_SCI_REG_MASK(SCI_RDRF, minor, SCI_SSR);
 
         /*
          * Check for errors
          */
<font color='#880000'>-        if (read8(Console_Port_Tbl[minor].ulCtrlPort1 + SCI_SSR) &
</font><font color='#000088'>+        if (read8(Console_Port_Tbl[minor]->ulCtrlPort1 + SCI_SSR) &
</font>            (SCI_ORER | SCI_FER | SCI_PER)) {
             SH_SCI_REG_MASK((SCI_ORER | SCI_FER | SCI_PER), minor, SCI_SSR);
             return -1;
</pre>
<p> </p>
<a name='cs17'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * mongoosev/duart/mg5uart.c: Modifications to add dynamic tables for
        libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/mips/ChangeLog.diff?r1=text&tr1=1.102&r2=text&tr2=1.103&diff_format=h">M</a></td><td width='1%'>1.103</td><td width='100%'>c/src/lib/libcpu/mips/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libcpu/mips/ChangeLog:1.102 rtems/c/src/lib/libcpu/mips/ChangeLog:1.103
--- rtems/c/src/lib/libcpu/mips/ChangeLog:1.102 Fri Feb 11 03:37:38 2011
+++ rtems/c/src/lib/libcpu/mips/ChangeLog       Tue Oct 18 13:39:05 2011
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * mongoosev/duart/mg5uart.c: Modifications to add dynamic tables for
+       libchip serial drivers.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * au1x00/vectorisrs/vectorisrs.c:

<font color='#006600'>diff -u rtems/c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c:1.14 rtems/c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c:1.15
--- rtems/c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c:1.14  Sun Jan 30 11:42:26 2011
+++ rtems/c/src/lib/libcpu/mips/mongoosev/duart/mg5uart.c       Tue Oct 18 13:39:05 2011
</font><font color='#997700'>@@ -88,8 +88,8 @@
</font>   uint32_t               shift;
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   /*
    *  Set the baud rate
<font color='#997700'>@@ -161,7 +161,7 @@
</font>    *  Now write the registers
    */
 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_CMD_SHIFT;
   else
     shift = MONGOOSEV_UART1_CMD_SHIFT;
<font color='#997700'>@@ -197,14 +197,14 @@
</font>   unsigned int pMG5UART;
   unsigned int pMG5UART_port;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   pmg5uartContext->mate = -1;
 
   for (port=0 ; port<Console_Port_Count ; port++ ) {
<font color='#880000'>-    if ( Console_Port_Tbl[port].ulCtrlPort1 == pMG5UART &&
-         Console_Port_Tbl[port].ulCtrlPort2 != pMG5UART_port ) {
</font><font color='#000088'>+    if ( Console_Port_Tbl[port]->ulCtrlPort1 == pMG5UART &&
+         Console_Port_Tbl[port]->ulCtrlPort2 != pMG5UART_port ) {
</font>       pmg5uartContext->mate = port;
       break;
     }
<font color='#997700'>@@ -233,10 +233,10 @@
</font> 
   mg5uart_initialize_context( minor, pmg5uartContext );
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>      shift = MONGOOSEV_UART0_CMD_SHIFT;
   else
      shift = MONGOOSEV_UART1_CMD_SHIFT;
<font color='#997700'>@@ -278,11 +278,11 @@
</font> 
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  vector        = Console_Port_Tbl[minor].ulIntVector;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  vector        = Console_Port_Tbl[minor]->ulIntVector;
</font> 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_CMD_SHIFT;
   else
     shift = MONGOOSEV_UART1_CMD_SHIFT;
<font color='#997700'>@@ -332,8 +332,8 @@
</font>   uint32_t      shift;
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   /*
    *  Disable interrupts from this channel and then disable it totally.
<font color='#997700'>@@ -343,7 +343,7 @@
</font> 
   cmd = MONGOOSEV_UART_CMD_TX_DISABLE | MONGOOSEV_UART_CMD_RX_DISABLE;
 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_CMD_SHIFT;
   else
     shift = MONGOOSEV_UART1_CMD_SHIFT;
<font color='#997700'>@@ -380,10 +380,10 @@
</font>   int                     shift;
   int                     timeout;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_IRQ_SHIFT;
   else
     shift = MONGOOSEV_UART1_IRQ_SHIFT;
<font color='#997700'>@@ -454,8 +454,8 @@
</font>     int   minor; \
     \
     for(minor=0 ; minor<Console_Port_Count ; minor++) { \
<font color='#880000'>-      if( Console_Port_Tbl[minor].deviceType == SERIAL_MG5UART && \
-          vector == Console_Port_Tbl[minor].ulIntVector + _OFFSET ) { \
</font><font color='#000088'>+      if( Console_Port_Tbl[minor]->deviceType == SERIAL_MG5UART && \
+          vector == Console_Port_Tbl[minor]->ulIntVector + _OFFSET ) { \
</font>         mg5uart_process_isr_ ## _TYPE (minor); \
        return; \
       } \
<font color='#997700'>@@ -478,9 +478,9 @@
</font>   uint32_t                pMG5UART;
   int                     shift;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_IRQ_SHIFT;
   else
     shift = MONGOOSEV_UART1_IRQ_SHIFT;
<font color='#997700'>@@ -523,11 +523,11 @@
</font>    uint32_t        pMG5UART;
    int             shift;
 
<font color='#880000'>-   pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+   pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
    mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL_EXCEPT_TX);
 
<font color='#880000'>-   if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+   if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>       shift = MONGOOSEV_UART0_IRQ_SHIFT;
    else
       shift = MONGOOSEV_UART1_IRQ_SHIFT;
<font color='#997700'>@@ -580,7 +580,7 @@
</font>   uint32_t   pMG5UART_port;
   char       c;
 
<font color='#880000'>-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   /* reading the RX buffer automatically resets the interrupt flag */
 
<font color='#997700'>@@ -609,7 +609,7 @@
</font>   mg5uart_init(minor);
 
   Console_Port_Data[minor].bActive = FALSE;
<font color='#880000'>-  v = Console_Port_Tbl[minor].ulIntVector;
</font><font color='#000088'>+  v = Console_Port_Tbl[minor]->ulIntVector;
</font> 
   set_vector(mg5uart_isr_rx_frame_error,   v + MG5UART_IRQ_RX_FRAME_ERROR, 1);
   set_vector(mg5uart_isr_rx_overrun_error, v + MG5UART_IRQ_RX_OVERRUN_ERROR, 1);
<font color='#997700'>@@ -639,7 +639,7 @@
</font>   uint32_t        Irql;
   uint32_t        pMG5UART_port;
 
<font color='#880000'>-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   /*
    *  We are using interrupt driven output and termios only sends us
<font color='#997700'>@@ -715,10 +715,10 @@
</font>   uint32_t                status;
   uint32_t                tmp,shift;
 
<font color='#880000'>-  pMG5UART      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMG5UART_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMG5UART      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_IRQ_SHIFT;
   else
     shift = MONGOOSEV_UART1_IRQ_SHIFT;
<font color='#997700'>@@ -762,7 +762,7 @@
</font> 
   baud_requested = rtems_termios_baud_to_number( baud_requested );
 
<font color='#880000'>-  clock = (uint32_t) Console_Port_Tbl[minor].ulClock;
</font><font color='#000088'>+  clock = (uint32_t) Console_Port_Tbl[minor]->ulClock;
</font>   if (!clock)
     rtems_fatal_error_occurred(RTEMS_INVALID_NUMBER);
 
<font color='#997700'>@@ -813,13 +813,13 @@
</font>   uint32_t              shift;
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  pMG5UART = Console_Port_Tbl[minor].ulCtrlPort1;
</font><font color='#000088'>+  pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
</font> 
   /*
    *  Enable interrupts on RX and TX -- not break
    */
 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].ulDataPort == MG5UART_UART0 )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
</font>     shift = MONGOOSEV_UART0_IRQ_SHIFT;
   else
     shift = MONGOOSEV_UART1_IRQ_SHIFT;
</pre>
<p> </p>
<a name='cs18'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-18 Jennifer Averett <Jennifer.Averett@OARcorp.com>

        PR 1917/bsps
        * libchip/serial/mc68681.c, libchip/serial/ns16550.c,
        libchip/serial/serial.h, libchip/serial/z85c30.c: Modifications to
        add dynamic tables for libchip serial drivers.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/ChangeLog.diff?r1=text&tr1=1.561&r2=text&tr2=1.562&diff_format=h">M</a></td><td width='1%'>1.562</td><td width='100%'>c/src/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/libchip/serial/mc68681.c.diff?r1=text&tr1=1.40&r2=text&tr2=1.41&diff_format=h">M</a></td><td width='1%'>1.41</td><td width='100%'>c/src/libchip/serial/mc68681.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/libchip/serial/ns16550.c.diff?r1=text&tr1=1.50&r2=text&tr2=1.51&diff_format=h">M</a></td><td width='1%'>1.51</td><td width='100%'>c/src/libchip/serial/ns16550.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/libchip/serial/serial.h.diff?r1=text&tr1=1.19&r2=text&tr2=1.20&diff_format=h">M</a></td><td width='1%'>1.20</td><td width='100%'>c/src/libchip/serial/serial.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/libchip/serial/z85c30.c.diff?r1=text&tr1=1.32&r2=text&tr2=1.33&diff_format=h">M</a></td><td width='1%'>1.33</td><td width='100%'>c/src/libchip/serial/z85c30.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/ChangeLog:1.561 rtems/c/src/ChangeLog:1.562
--- rtems/c/src/ChangeLog:1.561 Mon Oct 17 06:56:31 2011
+++ rtems/c/src/ChangeLog       Tue Oct 18 13:40:27 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2011-10-18    Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+       PR 1917/bsps
+       * libchip/serial/mc68681.c, libchip/serial/ns16550.c,
+       libchip/serial/serial.h, libchip/serial/z85c30.c: Modifications to
+       add dynamic tables for libchip serial drivers.
+
</font> 2011-10-17        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * libchip/rtc/icm7170.c (icm7170_get_time): Remove unused var setReg.

<font color='#006600'>diff -u rtems/c/src/libchip/serial/mc68681.c:1.40 rtems/c/src/libchip/serial/mc68681.c:1.41
--- rtems/c/src/libchip/serial/mc68681.c:1.40   Mon Oct 10 23:56:22 2011
+++ rtems/c/src/libchip/serial/mc68681.c        Tue Oct 18 13:40:27 2011
</font><font color='#997700'>@@ -99,9 +99,9 @@
</font>   setRegister_f          setReg;
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  Set the baud rate
<font color='#997700'>@@ -195,14 +195,14 @@
</font>   unsigned int pMC68681;
   unsigned int pMC68681_port;
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
</font> 
   pmc68681Context->mate = -1;
 
   for (port=0 ; port<Console_Port_Count ; port++ ) {
<font color='#880000'>-    if ( Console_Port_Tbl[port].ulCtrlPort1 == pMC68681 &&
-         Console_Port_Tbl[port].ulCtrlPort2 != pMC68681_port ) {
</font><font color='#000088'>+    if ( Console_Port_Tbl[port]->ulCtrlPort1 == pMC68681 &&
+         Console_Port_Tbl[port]->ulCtrlPort2 != pMC68681_port ) {
</font>       pmc68681Context->mate = port;
       pmc68681Context->imr  = 0;
       break;
<font color='#997700'>@@ -230,9 +230,9 @@
</font> 
   mc68681_initialize_context( minor, pmc68681Context );
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  Reset everything and leave this port disabled.
<font color='#997700'>@@ -282,10 +282,10 @@
</font>   unsigned int                     status;
 
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg        = Console_Port_Tbl[minor].setRegister;
-  vector        = Console_Port_Tbl[minor].ulIntVector;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
+  vector        = Console_Port_Tbl[minor]->ulIntVector;
</font> 
   /* XXX default baud rate should be from configuration table */
 
<font color='#997700'>@@ -332,9 +332,9 @@
</font>   uint32_t        pMC68681_port;
   setRegister_f   setReg;
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  Disable interrupts from this channel and then disable it totally.
<font color='#997700'>@@ -365,9 +365,9 @@
</font>   getRegister_f           getReg;
   setRegister_f           setReg;
 
<font color='#880000'>-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  getReg        = Console_Port_Tbl[minor].getRegister;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  getReg        = Console_Port_Tbl[minor]->getRegister;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * wait for transmitter holding register to be empty
<font color='#997700'>@@ -415,8 +415,8 @@
</font>   int     minor;
 
   for(minor=0 ; minor<Console_Port_Count ; minor++) {
<font color='#880000'>-    if(Console_Port_Tbl[minor].ulIntVector == vector &&
-       Console_Port_Tbl[minor].deviceType == SERIAL_MC68681 ) {
</font><font color='#000088'>+    if(Console_Port_Tbl[minor]->ulIntVector == vector &&
+       Console_Port_Tbl[minor]->deviceType == SERIAL_MC68681 ) {
</font>       mc68681_process(minor);
     }
   }
<font color='#997700'>@@ -435,7 +435,7 @@
</font> 
   Console_Port_Data[minor].bActive = FALSE;
 
<font color='#880000'>-  set_vector(mc68681_isr, Console_Port_Tbl[minor].ulIntVector, 1);
</font><font color='#000088'>+  set_vector(mc68681_isr, Console_Port_Tbl[minor]->ulIntVector, 1);
</font> 
   mc68681_enable_interrupts(minor,MC68681_IMR_ENABLE_ALL_EXCEPT_TX);
 }
<font color='#997700'>@@ -456,8 +456,8 @@
</font>   uint32_t        pMC68681_port;
   setRegister_f   setReg;
 
<font color='#880000'>-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  We are using interrupt driven output and termios only sends us
<font color='#997700'>@@ -529,8 +529,8 @@
</font>   unsigned char        cChar;
   getRegister_f        getReg;
 
<font color='#880000'>-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  getReg        = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  getReg        = Console_Port_Tbl[minor]->getRegister;
</font> 
   ucLineStatus = (*getReg)(pMC68681_port, MC68681_STATUS);
   if(ucLineStatus & MC68681_RX_READY) {
<font color='#997700'>@@ -564,14 +564,14 @@
</font>   acr_bit = 0;
   status = 0;
 
<font color='#880000'>-  if (Console_Port_Tbl[minor].ulDataPort & MC68681_DATA_BAUD_RATE_SET_2)
</font><font color='#000088'>+  if (Console_Port_Tbl[minor]->ulDataPort & MC68681_DATA_BAUD_RATE_SET_2)
</font>   {
     acr_bit = 1;
   }
 
   is_extended = 0;
 
<font color='#880000'>-  switch (Console_Port_Tbl[minor].ulDataPort & MC68681_XBRG_MASK) {
</font><font color='#000088'>+  switch (Console_Port_Tbl[minor]->ulDataPort & MC68681_XBRG_MASK) {
</font>     case MC68681_XBRG_IGNORED:
       *command = 0x00;
       break;
<font color='#997700'>@@ -591,7 +591,7 @@
</font>   baud_requested = rtems_termios_baud_to_index( baud_requested );
 
   baud_tbl = (mc68681_baud_table_t *)
<font color='#880000'>-     ((uintptr_t)Console_Port_Tbl[minor].ulClock);
</font><font color='#000088'>+     ((uintptr_t)Console_Port_Tbl[minor]->ulClock);
</font>   if (!baud_tbl)
     rtems_fatal_error_occurred(RTEMS_INVALID_ADDRESS);
 
<font color='#997700'>@@ -630,10 +630,10 @@
</font>   getRegister_f           getReg;
   setRegister_f           setReg;
 
<font color='#880000'>-  pMC68681      = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port = Console_Port_Tbl[minor].ulCtrlPort2;
-  getReg        = Console_Port_Tbl[minor].getRegister;
-  setReg        = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681      = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port = Console_Port_Tbl[minor]->ulCtrlPort2;
+  getReg        = Console_Port_Tbl[minor]->getRegister;
+  setReg        = Console_Port_Tbl[minor]->setRegister;
</font> 
   /* Get ISR at the beginning of the IT routine */
   ucISRStatus = (*getReg)(pMC68681, MC68681_INTERRUPT_STATUS_REG);
<font color='#997700'>@@ -710,8 +710,8 @@
</font>   mc68681_context *pmc68681Context;
   mc68681_context *mateContext;
 
<font color='#880000'>-  pMC68681        = Console_Port_Tbl[minor].ulCtrlPort1;
-  pMC68681_port   = Console_Port_Tbl[minor].ulCtrlPort2;
</font><font color='#000088'>+  pMC68681        = Console_Port_Tbl[minor]->ulCtrlPort1;
+  pMC68681_port   = Console_Port_Tbl[minor]->ulCtrlPort2;
</font>   pmc68681Context = (mc68681_context *) Console_Port_Data[minor].pDeviceContext;
   mate            = pmc68681Context->mate;
 
<font color='#997700'>@@ -735,7 +735,7 @@
</font>    *  Calculate this port's IMR mask and save it in the context area.
    */
 
<font color='#880000'>-  if ( Console_Port_Tbl[minor].pDeviceFns->deviceOutputUsesInterrupts )
</font><font color='#000088'>+  if ( Console_Port_Tbl[minor]->pDeviceFns->deviceOutputUsesInterrupts )
</font>     mask = enable_flag;
 
   pmc68681Context->imr = mask;
<font color='#997700'>@@ -764,8 +764,8 @@
</font>   uint32_t              pMC68681;
   setRegister_f         setReg;
 
<font color='#880000'>-  pMC68681 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pMC68681 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  Enable interrupts on RX and TX -- not break

<font color='#006600'>diff -u rtems/c/src/libchip/serial/ns16550.c:1.50 rtems/c/src/libchip/serial/ns16550.c:1.51
--- rtems/c/src/libchip/serial/ns16550.c:1.50   Mon Jul 11 08:31:13 2011
+++ rtems/c/src/libchip/serial/ns16550.c        Tue Oct 18 13:40:27 2011
</font><font color='#997700'>@@ -113,9 +113,9 @@
</font>   Console_Port_Data[minor].pDeviceContext=(void *)pns16550Context;
   pns16550Context->ucModemCtrl=SP_MODEM_IRQ;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
-  getReg   = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
+  getReg   = Console_Port_Tbl[minor]->getRegister;
</font> 
   /* Clear the divisor latch, clear all interrupt enables,
    * and reset and
<font color='#997700'>@@ -128,8 +128,8 @@
</font>   /* Set the divisor latch and set the baud rate. */
 
   ulBaudDivisor = NS16550_Baud(
<font color='#880000'>-    (uint32_t) Console_Port_Tbl[minor].ulClock,
-    (uint32_t) ((uintptr_t)Console_Port_Tbl[minor].pDeviceParams)
</font><font color='#000088'>+    (uint32_t) Console_Port_Tbl[minor]->ulClock,
+    (uint32_t) ((uintptr_t)Console_Port_Tbl[minor]->pDeviceParams)
</font>   );
   ucDataByte = SP_LINE_DLAB;
   (*setReg)(pNS16550, NS16550_LINE_CONTROL, ucDataByte);
<font color='#997700'>@@ -172,7 +172,7 @@
</font> {
   rtems_libio_open_close_args_t *oc = (rtems_libio_open_close_args_t *) arg;
   struct rtems_termios_tty *tty = (struct rtems_termios_tty *) oc->iop->data1;
<font color='#880000'>-  console_tbl *c = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *c = Console_Port_Tbl [minor];
</font>   console_data *d = &Console_Port_Data [minor];
 
   d->termios_data = tty;
<font color='#997700'>@@ -226,7 +226,7 @@
</font>  */
 NS16550_STATIC void ns16550_write_polled(int minor, char out)
 {
<font color='#880000'>-  console_tbl *c = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *c = Console_Port_Tbl [minor];
</font>   uintptr_t port = c->ulCtrlPort1;
   getRegister_f get = c->getRegister;
   setRegister_f set = c->setRegister;
<font color='#997700'>@@ -283,8 +283,8 @@
</font> 
   pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Assert RTS
<font color='#997700'>@@ -309,8 +309,8 @@
</font> 
   pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Negate RTS
<font color='#997700'>@@ -340,8 +340,8 @@
</font> 
   pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Assert DTR
<font color='#997700'>@@ -366,8 +366,8 @@
</font> 
   pns16550Context=(ns16550_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Negate DTR
<font color='#997700'>@@ -399,9 +399,9 @@
</font>   getRegister_f           getReg;
   uint32_t                Irql;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
-  getReg   = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
+  getReg   = Console_Port_Tbl[minor]->getRegister;
</font> 
   /*
    *  Calculate the baud rate divisor
<font color='#997700'>@@ -412,7 +412,7 @@
</font>     baud_requested = B9600;              /* default to 9600 baud */
 
   ulBaudDivisor = NS16550_Baud(
<font color='#880000'>-    (uint32_t) Console_Port_Tbl[minor].ulClock,
</font><font color='#000088'>+    (uint32_t) Console_Port_Tbl[minor]->ulClock,
</font>     rtems_termios_baud_to_number(baud_requested)
   );
 
<font color='#997700'>@@ -485,7 +485,7 @@
</font>  */
 NS16550_STATIC void ns16550_process( int minor)
 {
<font color='#880000'>-  console_tbl *c = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *c = Console_Port_Tbl [minor];
</font>   console_data *d = &Console_Port_Data [minor];
   ns16550_context *ctx = d->pDeviceContext;
   uint32_t port = c->ulCtrlPort1;
<font color='#997700'>@@ -544,7 +544,7 @@
</font>   size_t len
 )
 {
<font color='#880000'>-  console_tbl *c = &Console_Port_Tbl [minor];
</font><font color='#000088'>+  console_tbl *c = Console_Port_Tbl [minor];
</font>   console_data *d = &Console_Port_Data [minor];
   ns16550_context *ctx = d->pDeviceContext;
   uint32_t port = c->ulCtrlPort1;
<font color='#997700'>@@ -578,8 +578,8 @@
</font>   uint32_t       pNS16550;
   setRegister_f  setReg;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   (*setReg)(pNS16550, NS16550_INTERRUPT_ENABLE, mask);
 }
<font color='#997700'>@@ -736,8 +736,8 @@
</font>   char                 cChar;
   getRegister_f        getReg;
 
<font color='#880000'>-  pNS16550 = Console_Port_Tbl[minor].ulCtrlPort1;
-  getReg   = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  pNS16550 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  getReg   = Console_Port_Tbl[minor]->getRegister;
</font> 
   ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS);
   if(ucLineStatus & SP_LSR_RDY) {

<font color='#006600'>diff -u rtems/c/src/libchip/serial/serial.h:1.19 rtems/c/src/libchip/serial/serial.h:1.20
--- rtems/c/src/libchip/serial/serial.h:1.19    Sun Apr 25 19:58:39 2010
+++ rtems/c/src/libchip/serial/serial.h Tue Oct 18 13:40:27 2011
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @brief  The generic libchip serial driver interface
+ */
+
+
</font> /*
  *  This file contains the TTY driver table definition
  *
<font color='#997700'>@@ -28,11 +35,46 @@
</font>  *  Types for get and set register routines
  */
 
<font color='#000088'>+/**
+ *  @typedef getRegister_f
+ *
+ *  This type function provides a hook for the bsp specific method
+ *  that gets register data from the given port and register.<span style="background-color: #FF0000"> </span>
+ */
</font> typedef uint8_t   (*getRegister_f)(uintptr_t port, uint8_t reg);
<font color='#000088'>+
+/**
+ *  @typedef setData_f
+ *
+ *  This type function provides a hook for the bsp specific method
+ *  that sets register data from the given port and register to the
+ *  given value.<span style="background-color: #FF0000"> </span>
+ */
</font> typedef void      (*setRegister_f)(uintptr_t port, uint8_t reg, uint8_t  value);
<font color='#000088'>+
+/**
+ *  @typedef getData_f
+ *
+ *  This type function provides a hook for the bsp specific method
+ *  that gets data from the specified port.<span style="background-color: #FF0000"> </span>
+ */
</font> typedef uint8_t   (*getData_f)(uintptr_t port);
<font color='#000088'>+
+/**
+ *  @typedef setData_f
+ *
+ *  This type function provides a hook for the bsp specific method
+ *  that writes value to the specified port.
+ */
</font> typedef void      (*setData_f)(uintptr_t port, uint8_t value);
 
<font color='#000088'>+/**
+ *  @typedef _console_fns
+ *
+ *  This type definition provides a structure of functions each
+ *  methood provides an interfce to the serial por to do a specific
+ *  function.
+ */
</font> typedef struct _console_fns {
   bool    (*deviceProbe)(int minor);
   int     (*deviceFirstOpen)(int major, int minor, void *arg);
<font color='#997700'>@@ -45,11 +87,22 @@
</font>   bool      deviceOutputUsesInterrupts;
 } console_fns;
 
<font color='#000088'>+/**
+ *  @typedef _console_flow
+ *
+ *  This type definition provides a structure of functions
+ *  that provide flow control for the transmit buffer.
+ */
</font> typedef struct _console_flow {
   int (*deviceStopRemoteTx)(int minor);
   int (*deviceStartRemoteTx)(int minor);
 } console_flow;
 
<font color='#000088'>+
+/**
+ * This type defination provides an enumerated type of all
+ * supported libchip console drivers.
+ */
</font> typedef enum {
   SERIAL_MC68681,              /* Motorola MC68681 or Exar 88681 */
   SERIAL_NS16550,              /* National Semiconductor NS16550 */
<font color='#997700'>@@ -57,100 +110,114 @@
</font>   SERIAL_CUSTOM                /* BSP specific driver */
 } console_devs;
 
<font color='#880000'>-/*
- * Each field is interpreted thus:
- *
- * sDeviceName  This is the name of the device.
- *
- * deviceType   This indicates the chip type.  It is especially important when
- *              multiple devices share the same interrupt vector and must be
- *              distinguished.
- *
- * pDeviceFns   This is a pointer to the set of driver routines to use.
- *
- * pDeviceFlow  This is a pointer to the set of flow control routines to
- *              use. Serial device drivers will typically supply RTSCTS
- *              and DTRCTS handshake routines for DCE to DCE communication,
- *              however for DCE to DTE communication, no such routines
- *              should be necessary as RTS will be driven automatically
- *              when the transmitter is active.
- *
- * ulMargin     The high water mark in the input buffer is set to the buffer
- *              size less ulMargin. Once this level is reached, the driver's
- *              flow control routine used to stop the remote transmitter will
- *              be called. This figure should be greater than or equal to
- *              the number of stages of FIFO between the transmitter and
- *              receiver.
- *
- *              NOTE: At the current time, this parameter is hard coded
- *                    in termios and this number is ignored.
- *
- * ulHysteresis After the high water mark specified by ulMargin has been
- *              reached, the driver's routine to re-start the remote
- *              transmitter will be called once the level in the input
- *              buffer has fallen by ulHysteresis bytes.
- *
- *              NOTE: At the current time, this parameter is hard coded
- *                    in termios and this number is ignored.
- *
- * pDeviceParams This contains either device specific data or a pointer to a
- *              device specific structure containing additional information
- *              not provided in this table.
- *
- * ulCtrlPort1  This is the primary control port number for the device. This
- *              may be used to specify different instances of the same device
- *              type.
- *
- * ulCtrlPort2  This is the secondary control port number, of use when a given
- *              device has more than one available channel.
- *
- * ulDataPort   This is the port number for the data port of the device
- *
- * getRegister  This is the routine used to read register values.
- *
- * setRegister  This is the routine used to write register values.
- *
- * getData      This is the routine used to read the data register (RX).
- *
- * setData      This is the routine used to write the data register (TX).
- *
- * ulClock      This is the baud rate clock speed.
- *
- * ulIntVector  This encodes the interrupt vector of the device.
</font><font color='#000088'>+/**
+ * This type defination provides an structure that is used to<span style="background-color: #FF0000"> </span>
+ * uniquely identify a specific serial port.
</font>  */
<font color='#880000'>-
</font> typedef struct _console_tbl {
<font color='#000088'>+  /**  This is the name of the device. */
</font>   char          *sDeviceName;
<font color='#000088'>+  /** This indicates the chip type.  It is especially important when
+   *   multiple devices share the same interrupt vector and must be
+   *   distinguished.
+   */
</font>   console_devs   deviceType;
<font color='#000088'>+  /** pDeviceFns   This is a pointer to the set of driver routines to use. */
</font>   console_fns   *pDeviceFns;
<font color='#000088'>+  /** This value is passed to the serial device driver for use.  In termios
+   *  itself the number is ignored.
+   */
</font>   bool         (*deviceProbe)(int minor);
<font color='#000088'>+  /** This is a pointer to the set of flow control routines to
+   *  use. Serial device drivers will typically supply RTSCTS
+   *  and DTRCTS handshake routines for DCE to DCE communication,
+   *  however for DCE to DTE communication, no such routines
+   *  should be necessary as RTS will be driven automatically
+   *  when the transmitter is active.
+   */
</font>   console_flow  *pDeviceFlow;
<font color='#000088'>+  /** The high water mark in the input buffer is set to the buffer
+   *  size less ulMargin. Once this level is reached, the driver's
+   *  flow control routine used to stop the remote transmitter will
+   *  be called. This figure should be greater than or equal to
+   *  the number of stages of FIFO between the transmitter and
+   *  receiver.
+   *
+   *  @note At the current time, this parameter is hard coded
+   *        in termios and this number is ignored.
+   */
</font>   uint32_t       ulMargin;
<font color='#000088'>+  /** After the high water mark specified by ulMargin has been
+   *  reached, the driver's routine to re-start the remote
+   *  transmitter will be called once the level in the input
+   *  buffer has fallen by ulHysteresis bytes.
+   *
+   *  @note At the current time, this parameter is hard coded in termios.
+   */
</font>   uint32_t       ulHysteresis;
<font color='#000088'>+  /** This contains either device specific data or a pointer to a
+   *  device specific structure containing additional information
+   *  not provided in this table.
+   */
</font>   void          *pDeviceParams;
<font color='#000088'>+  /** This is the primary control port number for the device. This
+   *  may be used to specify different instances of the same device type.
+   */
</font>   uint32_t       ulCtrlPort1;
<font color='#000088'>+  /** This is the secondary control port number, of use when a given
+   *  device has more than one available channel.
+   */
</font>   uint32_t       ulCtrlPort2;
<font color='#000088'>+  /** This is the port number for the data port of the device */
</font>   uint32_t       ulDataPort;
<font color='#000088'>+  /** This is the routine used to read register values. */
</font>   getRegister_f  getRegister;
<font color='#000088'>+  /** This is the routine used to write register values. */
</font>   setRegister_f  setRegister;
<font color='#000088'>+  /** This is the routine used to read the data register (RX). */
</font>   getData_f      getData;
<font color='#000088'>+  /* This is the routine used to write the data register (TX). */
</font>   setData_f      setData;
<font color='#000088'>+  /** This is the baud rate clock speed.*/
</font>   uint32_t       ulClock;
<font color='#000088'>+  /** This encodes the interrupt vector of the device. */
</font>   unsigned int   ulIntVector;
 } console_tbl;
 
<font color='#000088'>+/**
+ * This type defination provides data for the console port.
+ */
</font> typedef struct _console_data {
   void                   *termios_data;
   volatile bool           bActive;
<font color='#880000'>-  /*
-   * This field may be used for any purpose required by the driver
-   */
</font><font color='#000088'>+  /** This field may be used for any purpose required by the driver  */
</font>   void                   *pDeviceContext;
 } console_data;
 
<font color='#880000'>-extern console_tbl  Console_Port_Tbl[];
-extern console_data Console_Port_Data[];
-extern unsigned long  Console_Port_Count;
</font><font color='#000088'>+/**
+ *  This is a dynamically sized set of tables containing the serial<span style="background-color: #FF0000"> </span>
+ *  port information.
+ */
+extern console_tbl   **Console_Port_Tbl;
+/**
+ * This is the number of serial ports defined in the Console_Port_Tbl.
+ */
+extern unsigned long   Console_Port_Count;
+
+/**
+ *  The statically configured serial port information tables which
+ *  are used to initially populate the dynamic tables.
+ */
+extern console_tbl    Console_Configuration_Ports[];
+/**
+ * The number of serial ports defined in Console_Configuration_Ports<span style="background-color: #FF0000"> </span>
+ * */
+extern unsigned long  Console_Configuration_Count;
+
+/**
+ *  This is an array of per port information.
+ */
+extern console_data  *Console_Port_Data;
</font> 
 #ifdef __cplusplus
 }

<font color='#006600'>diff -u rtems/c/src/libchip/serial/z85c30.c:1.32 rtems/c/src/libchip/serial/z85c30.c:1.33
--- rtems/c/src/libchip/serial/z85c30.c:1.32    Mon Oct 10 03:37:28 2011
+++ rtems/c/src/libchip/serial/z85c30.c Tue Oct 18 13:40:27 2011
</font><font color='#997700'>@@ -96,8 +96,8 @@
</font>   uintptr_t       ulBaudDivisor;
   setRegister_f   setReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg   = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg   = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Using register 4
<font color='#997700'>@@ -137,8 +137,8 @@
</font>   );
 
   ulBaudDivisor = Z85C30_Baud(
<font color='#880000'>-    (uint32_t) Console_Port_Tbl[minor].ulClock,
-    (uint32_t) ((uintptr_t)Console_Port_Tbl[minor].pDeviceParams)
</font><font color='#000088'>+    (uint32_t) Console_Port_Tbl[minor]->ulClock,
+    (uint32_t) ((uintptr_t)Console_Port_Tbl[minor]->pDeviceParams)
</font>   );
 
   /*
<font color='#997700'>@@ -219,7 +219,7 @@
</font>    * Assert DTR
    */
 
<font color='#880000'>-  if (Console_Port_Tbl[minor].pDeviceFlow !=&z85c30_flow_DTRCTS) {
</font><font color='#000088'>+  if (Console_Port_Tbl[minor]->pDeviceFlow !=&z85c30_flow_DTRCTS) {
</font>     z85c30_assert_DTR(minor);
   }
 
<font color='#997700'>@@ -240,7 +240,7 @@
</font>    * Negate DTR
    */
 
<font color='#880000'>-  if (Console_Port_Tbl[minor].pDeviceFlow !=&z85c30_flow_DTRCTS) {
</font><font color='#000088'>+  if (Console_Port_Tbl[minor]->pDeviceFlow !=&z85c30_flow_DTRCTS) {
</font>     z85c30_negate_DTR(minor);
   }
 
<font color='#997700'>@@ -258,8 +258,9 @@
</font>   setRegister_f    setReg;
   getRegister_f    getReg;
 
<font color='#880000'>-  setReg = Console_Port_Tbl[minor].setRegister;
-  getReg   = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
+  getReg     = Console_Port_Tbl[minor]->getRegister;
</font> 
   pz85c30Context = (z85c30_context *)malloc(sizeof(z85c30_context));
 
<font color='#997700'>@@ -267,8 +268,8 @@
</font> 
   pz85c30Context->ucModemCtrl = SCC_WR5_TX_8_BITS | SCC_WR5_TX_EN;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  if ( ulCtrlPort == Console_Port_Tbl[minor].ulCtrlPort2 ) {
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  if ( ulCtrlPort == Console_Port_Tbl[minor]->ulCtrlPort2 ) {
</font>     /*
      * This is channel A
      */
<font color='#997700'>@@ -306,7 +307,7 @@
</font>   z85c30_context        *pz85c30Context;
   setRegister_f          setReg;
 
<font color='#880000'>-  setReg = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  setReg = Console_Port_Tbl[minor]->setRegister;
</font> 
   pz85c30Context = (z85c30_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#997700'>@@ -317,7 +318,7 @@
</font>   rtems_interrupt_disable(Irql);
     pz85c30Context->ucModemCtrl|=SCC_WR5_RTS;
     (*setReg)(
<font color='#880000'>-      Console_Port_Tbl[minor].ulCtrlPort1,
</font><font color='#000088'>+      Console_Port_Tbl[minor]->ulCtrlPort1,
</font>       SCC_WR0_SEL_WR5,
       pz85c30Context->ucModemCtrl
     );
<font color='#997700'>@@ -335,7 +336,7 @@
</font>   z85c30_context        *pz85c30Context;
   setRegister_f          setReg;
 
<font color='#880000'>-  setReg = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  setReg = Console_Port_Tbl[minor]->setRegister;
</font> 
   pz85c30Context = (z85c30_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#997700'>@@ -346,7 +347,7 @@
</font>   rtems_interrupt_disable(Irql);
     pz85c30Context->ucModemCtrl&=~SCC_WR5_RTS;
     (*setReg)(
<font color='#880000'>-      Console_Port_Tbl[minor].ulCtrlPort1,
</font><font color='#000088'>+      Console_Port_Tbl[minor]->ulCtrlPort1,
</font>       SCC_WR0_SEL_WR5,
       pz85c30Context->ucModemCtrl
     );
<font color='#997700'>@@ -369,7 +370,7 @@
</font>   z85c30_context        *pz85c30Context;
   setRegister_f          setReg;
 
<font color='#880000'>-  setReg = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  setReg = Console_Port_Tbl[minor]->setRegister;
</font> 
   pz85c30Context = (z85c30_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#997700'>@@ -380,7 +381,7 @@
</font>   rtems_interrupt_disable(Irql);
     pz85c30Context->ucModemCtrl|=SCC_WR5_DTR;
     (*setReg)(
<font color='#880000'>-      Console_Port_Tbl[minor].ulCtrlPort1,
</font><font color='#000088'>+      Console_Port_Tbl[minor]->ulCtrlPort1,
</font>       SCC_WR0_SEL_WR5,
       pz85c30Context->ucModemCtrl
   );
<font color='#997700'>@@ -398,7 +399,7 @@
</font>   z85c30_context        *pz85c30Context;
   setRegister_f          setReg;
 
<font color='#880000'>-  setReg = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  setReg = Console_Port_Tbl[minor]->setRegister;
</font> 
   pz85c30Context = (z85c30_context *) Console_Port_Data[minor].pDeviceContext;
 
<font color='#997700'>@@ -409,7 +410,7 @@
</font>   rtems_interrupt_disable(Irql);
     pz85c30Context->ucModemCtrl&=~SCC_WR5_DTR;
     (*setReg)(
<font color='#880000'>-      Console_Port_Tbl[minor].ulCtrlPort1,
</font><font color='#000088'>+      Console_Port_Tbl[minor]->ulCtrlPort1,
</font>       SCC_WR0_SEL_WR5,
       pz85c30Context->ucModemCtrl
   );
<font color='#997700'>@@ -438,8 +439,8 @@
</font>   setRegister_f          setReg;
   rtems_interrupt_level  Irql;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg     = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  Calculate the baud rate divisor
<font color='#997700'>@@ -450,7 +451,7 @@
</font>     baud_requested = B9600;              /* default to 9600 baud */
 
   ulBaudDivisor = Z85C30_Baud(
<font color='#880000'>-    (uint32_t) Console_Port_Tbl[minor].ulClock,
</font><font color='#000088'>+    (uint32_t) Console_Port_Tbl[minor]->ulClock,
</font>     (uint32_t) rtems_termios_baud_to_number( baud_requested )
   );
 
<font color='#997700'>@@ -540,9 +541,9 @@
</font>   setRegister_f       setReg;
   getRegister_f       getReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg     = Console_Port_Tbl[minor].setRegister;
-  getReg     = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
+  getReg     = Console_Port_Tbl[minor]->getRegister;
</font> 
   /*
    * Deal with any received characters
<font color='#997700'>@@ -604,7 +605,7 @@
</font>     rtems_termios_dequeue_characters(Console_Port_Data[minor].termios_data, 1);
     if (rtems_termios_dequeue_characters(
          Console_Port_Data[minor].termios_data, 1)) {
<font color='#880000'>-      if (Console_Port_Tbl[minor].pDeviceFlow != &z85c30_flow_RTSCTS) {
</font><font color='#000088'>+      if (Console_Port_Tbl[minor]->pDeviceFlow != &z85c30_flow_RTSCTS) {
</font>         z85c30_negate_RTS(minor);
       }
       Console_Port_Data[minor].bActive = FALSE;
<font color='#997700'>@@ -646,10 +647,10 @@
</font>   getRegister_f       getReg;
 
   for (minor=0;minor<Console_Port_Count;minor++) {
<font color='#880000'>-    if(Console_Port_Tbl[minor].ulIntVector == vector &&
-       Console_Port_Tbl[minor].deviceType == SERIAL_Z85C30 ) {
-      ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort2;
-      getReg     = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+    if(Console_Port_Tbl[minor]->ulIntVector == vector &&
+       Console_Port_Tbl[minor]->deviceType == SERIAL_Z85C30 ) {
+      ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort2;
+      getReg     = Console_Port_Tbl[minor]->getRegister;
</font>       do {
         ucIntPend = (*getReg)(ulCtrlPort, SCC_WR0_SEL_RD3);
 
<font color='#997700'>@@ -657,7 +658,7 @@
</font>            * If this is channel A select channel A status
            */
 
<font color='#880000'>-          if (ulCtrlPort == Console_Port_Tbl[minor].ulCtrlPort1) {
</font><font color='#000088'>+          if (ulCtrlPort == Console_Port_Tbl[minor]->ulCtrlPort1) {
</font>             ucIntPendPort = ucIntPend >> 3;
             ucIntPendPort &= 7;
           } else {
<font color='#997700'>@@ -686,8 +687,8 @@
</font>   uint32_t       ulCtrlPort;
   setRegister_f  setReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg     = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
</font> 
   (*setReg)(ulCtrlPort, SCC_WR0_SEL_WR1, interrupt_mask);
 }
<font color='#997700'>@@ -706,9 +707,9 @@
</font>   uint32_t       ulCtrlPort2;
   setRegister_f  setReg;
 
<font color='#880000'>-  ulCtrlPort1 = Console_Port_Tbl[minor].ulCtrlPort1;
-  ulCtrlPort2 = Console_Port_Tbl[minor].ulCtrlPort2;
-  setReg      = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort1 = Console_Port_Tbl[minor]->ulCtrlPort1;
+  ulCtrlPort2 = Console_Port_Tbl[minor]->ulCtrlPort2;
+  setReg      = Console_Port_Tbl[minor]->setRegister;
</font> 
 
   z85c30_init(minor);
<font color='#997700'>@@ -717,11 +718,11 @@
</font> 
   z85c30_initialize_port( minor );
 
<font color='#880000'>-  if (Console_Port_Tbl[minor].pDeviceFlow != &z85c30_flow_RTSCTS) {
</font><font color='#000088'>+  if (Console_Port_Tbl[minor]->pDeviceFlow != &z85c30_flow_RTSCTS) {
</font>     z85c30_negate_RTS(minor);
   }
 
<font color='#880000'>-  set_vector(z85c30_isr, Console_Port_Tbl[minor].ulIntVector, 1);
</font><font color='#000088'>+  set_vector(z85c30_isr, Console_Port_Tbl[minor]->ulIntVector, 1);
</font> 
   z85c30_enable_interrupts(minor, SCC_ENABLE_ALL_INTR_EXCEPT_TX);
 
<font color='#997700'>@@ -751,8 +752,8 @@
</font>   uint32_t       ulCtrlPort;
   setRegister_f  setReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  setReg     = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    *  We are using interrupt driven output and termios only sends us
<font color='#997700'>@@ -766,7 +767,7 @@
</font>    *  Put the character out and enable interrupts if necessary.
    */
 
<font color='#880000'>-  if (Console_Port_Tbl[minor].pDeviceFlow != &z85c30_flow_RTSCTS) {
</font><font color='#000088'>+  if (Console_Port_Tbl[minor]->pDeviceFlow != &z85c30_flow_RTSCTS) {
</font>     z85c30_assert_RTS(minor);
   }
   rtems_interrupt_disable(Irql);
<font color='#997700'>@@ -794,8 +795,8 @@
</font>   uint32_t            ulCtrlPort;
   getRegister_f       getReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  getReg     = Console_Port_Tbl[minor].getRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  getReg     = Console_Port_Tbl[minor]->getRegister;
</font> 
   /*
    * return -1 if a character is not available.
<font color='#997700'>@@ -856,9 +857,9 @@
</font>   getRegister_f      getReg;
   setRegister_f      setReg;
 
<font color='#880000'>-  ulCtrlPort = Console_Port_Tbl[minor].ulCtrlPort1;
-  getReg     = Console_Port_Tbl[minor].getRegister;
-  setReg     = Console_Port_Tbl[minor].setRegister;
</font><font color='#000088'>+  ulCtrlPort = Console_Port_Tbl[minor]->ulCtrlPort1;
+  getReg     = Console_Port_Tbl[minor]->getRegister;
+  setReg     = Console_Port_Tbl[minor]->setRegister;
</font> 
   /*
    * Wait for the Transmit buffer to indicate that it is empty.
</pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>