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