change log for rtems (2011-02-15)

rtems-vc at rtems.org rtems-vc at rtems.org
Wed Feb 16 00:10:18 UTC 2011


 *joel*:
2011-02-15	Jennifer Averett

	* libchip/serial/ns16550.c, libchip/serial/ns16550_p.h: Support i386
	style IRQs.

M  1.539  c/src/ChangeLog
M   1.48  c/src/libchip/serial/ns16550.c
M   1.16  c/src/libchip/serial/ns16550_p.h

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
@@ -1,3 +1,8 @@
+2011-02-15	Jennifer Averett
+
+	* libchip/serial/ns16550.c, libchip/serial/ns16550_p.h: Support i386
+	style IRQs.
+
 2011-02-11	Ralf Corsépius <ralf.corsepius at rtems.org>
 
 	* libchip/network/smc91111config.h:

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
@@ -49,6 +49,8 @@
   #ifdef BSP_SHARED_HANDLER_SUPPORT
     #define BSP_FEATURE_IRQ_LEGACY_SHARED_HANDLER_SUPPORT
   #endif
+#elif defined(__i386__)
+  #include <bsp/irq.h>
 #endif
 
 /*
@@ -472,7 +474,6 @@
   return 0;
 }
 
-#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
 
 /**
  * @brief Process interrupt.
@@ -521,6 +522,7 @@
     }
   } while ((get( port, NS16550_INTERRUPT_ID) & SP_IID_0) == 0);
 }
+#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
 #endif
 
 /**
@@ -578,14 +580,12 @@
   (*setReg)(pNS16550, NS16550_INTERRUPT_ENABLE, mask);
 }
 
-#if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
-  NS16550_STATIC rtems_isr ns16550_isr(void *arg)
-  {
+ NS16550_STATIC rtems_isr ns16550_isr(void *arg)
+ {
     int minor = (int) arg;
 
     ns16550_process( minor);
-  }
-#endif
+ }
 
 /*
  *  ns16550_initialize_interrupts
@@ -595,8 +595,8 @@
 NS16550_STATIC void ns16550_initialize_interrupts( int minor)
 {
 #if defined(BSP_FEATURE_IRQ_EXTENSION) || defined(BSP_FEATURE_IRQ_LEGACY)
-  console_tbl *c = &Console_Port_Tbl [minor];
 #endif
+  console_tbl *c = &Console_Port_Tbl [minor];
   console_data *d = &Console_Port_Data [minor];
 
   d->bActive = false;
@@ -648,6 +648,23 @@
         rtems_fatal_error_occurred( 0xdeadbeef);
       }
     }
+  #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);
+      }
+    }
   #endif
 }
 

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
@@ -27,7 +27,7 @@
  *  will show up in the symbol table.
  */
 
-#define NS16550_STATIC static
+#define NS16550_STATIC
 
 #define NS16550_RECEIVE_BUFFER   0
 #define NS16550_TRANSMIT_BUFFER  0



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20110215/b0f751f6/attachment-0001.html>


More information about the vc mailing list