<!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-02-15)</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>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-02-15 Jennifer Averett

        * libchip/serial/ns16550.c, libchip/serial/ns16550_p.h: Support i386
        style IRQs.
</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.538&r2=text&tr2=1.539&diff_format=h">M</a></td><td width='1%'>1.539</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/ns16550.c.diff?r1=text&tr1=1.47&r2=text&tr2=1.48&diff_format=h">M</a></td><td width='1%'>1.48</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/ns16550_p.h.diff?r1=text&tr1=1.15&r2=text&tr2=1.16&diff_format=h">M</a></td><td width='1%'>1.16</td><td width='100%'>c/src/libchip/serial/ns16550_p.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/ChangeLog:1.538 rtems/c/src/ChangeLog:1.539
--- rtems/c/src/ChangeLog:1.538 Fri Feb 11 06:57:44 2011
+++ rtems/c/src/ChangeLog       Tue Feb 15 17:25:24 2011
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2011-02-15    Jennifer Averett
+
+       * libchip/serial/ns16550.c, libchip/serial/ns16550_p.h: Support i386
+       style IRQs.
+
</font> 2011-02-11        Ralf Corsépius <ralf.corsepius@rtems.org>
 
        * libchip/network/smc91111config.h:

<font color='#006600'>diff -u rtems/c/src/libchip/serial/ns16550.c:1.47 rtems/c/src/libchip/serial/ns16550.c:1.48
--- rtems/c/src/libchip/serial/ns16550.c:1.47   Mon Jan 17 04:31:18 2011
+++ rtems/c/src/libchip/serial/ns16550.c        Tue Feb 15 17:25:24 2011
</font><font color='#997700'>@@ -49,6 +49,8 @@
</font>   #ifdef BSP_SHARED_HANDLER_SUPPORT
     #define BSP_FEATURE_IRQ_LEGACY_SHARED_HANDLER_SUPPORT
   #endif
<font color='#000088'>+#elif defined(__i386__)
+  #include <bsp/irq.h>
</font> #endif
 
 /*
<font color='#997700'>@@ -472,7 +474,6 @@
</font>   return 0;
 }
 
<font color='#880000'>-#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
</font> 
 /**
  * @brief Process interrupt.
<font color='#997700'>@@ -521,6 +522,7 @@
</font>     }
   } while ((get( port, NS16550_INTERRUPT_ID) & SP_IID_0) == 0);
 }
<font color='#000088'>+#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
</font> #endif
 
 /**
<font color='#997700'>@@ -578,14 +580,12 @@
</font>   (*setReg)(pNS16550, NS16550_INTERRUPT_ENABLE, mask);
 }
 
<font color='#880000'>-#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
-  NS16550_STATIC rtems_isr ns16550_isr(void *arg)
-  {
</font><font color='#000088'>+ NS16550_STATIC rtems_isr ns16550_isr(void *arg)
+ {
</font>     int minor = (int) arg;
 
     ns16550_process( minor);
<font color='#880000'>-  }
-#endif
</font><font color='#000088'>+ }
</font> 
 /*
  *  ns16550_initialize_interrupts
<font color='#997700'>@@ -595,8 +595,8 @@
</font> NS16550_STATIC void ns16550_initialize_interrupts( int minor)
 {
 #if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
<font color='#880000'>-  console_tbl *c = &Console_Port_Tbl [minor];
</font> #endif
<font color='#000088'>+  console_tbl *c = &Console_Port_Tbl [minor];
</font>   console_data *d = &Console_Port_Data [minor];
 
   d->bActive = false;
<font color='#997700'>@@ -648,6 +648,23 @@
</font>         rtems_fatal_error_occurred( 0xdeadbeef);
       }
     }
<font color='#000088'>+  #elif defined(__i386__)
+    {
+      int rv = 0;
+      rtems_irq_connect_data cd = {
+        c->ulIntVector,
+        ns16550_isr,
+        (void *) minor,
+        NULL,
+        NULL,
+        NULL
+      };
+      rv = BSP_install_rtems_irq_handler( &cd);
+      if (rv == 0) {
+        printk( "%s: Error: Install interrupt handler\n", __func__);
+        rtems_fatal_error_occurred( 0xdeadbeef);
+      }
+    }
</font>   #endif
 }
 

<font color='#006600'>diff -u rtems/c/src/libchip/serial/ns16550_p.h:1.15 rtems/c/src/libchip/serial/ns16550_p.h:1.16
--- rtems/c/src/libchip/serial/ns16550_p.h:1.15 Fri Apr  9 17:44:05 2010
+++ rtems/c/src/libchip/serial/ns16550_p.h      Tue Feb 15 17:25:24 2011
</font><font color='#997700'>@@ -27,7 +27,7 @@
</font>  *  will show up in the symbol table.
  */
 
<font color='#880000'>-#define NS16550_STATIC static
</font><font color='#000088'>+#define NS16550_STATIC
</font> 
 #define NS16550_RECEIVE_BUFFER   0
 #define NS16550_TRANSMIT_BUFFER  0
</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>