summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-28 18:20:12 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-28 18:20:12 +0000
commitfd3cd3e3e345b7196d35423ea1eb070e5a1b4559 (patch)
tree96458e634f87feae5621ec9c6dbb024a5ffdd60b /c
parentFix typo in previous change. (diff)
downloadrtems-fd3cd3e3e345b7196d35423ea1eb070e5a1b4559.tar.bz2
2009-08-28 Joel Sherrill <joel.sherrill@OARcorp.com>
* configure.ac, console/conscfg.c: Add CONSOLE_USE_INTERRUPTS.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/m68k/sim68000/ChangeLog4
-rw-r--r--c/src/lib/libbsp/m68k/sim68000/configure.ac10
-rw-r--r--c/src/lib/libbsp/m68k/sim68000/console/conscfg.c41
3 files changed, 35 insertions, 20 deletions
diff --git a/c/src/lib/libbsp/m68k/sim68000/ChangeLog b/c/src/lib/libbsp/m68k/sim68000/ChangeLog
index ecff3cbf9a..b147a0d8a5 100644
--- a/c/src/lib/libbsp/m68k/sim68000/ChangeLog
+++ b/c/src/lib/libbsp/m68k/sim68000/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-28 Joel Sherrill <joel.sherrill@OARcorp.com>
+
+ * configure.ac, console/conscfg.c: Add CONSOLE_USE_INTERRUPTS.
+
2009-07-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac: Rename BSP_BOOTCARD_OPTIONS to
diff --git a/c/src/lib/libbsp/m68k/sim68000/configure.ac b/c/src/lib/libbsp/m68k/sim68000/configure.ac
index 4cbf7b926c..a4660c036e 100644
--- a/c/src/lib/libbsp/m68k/sim68000/configure.ac
+++ b/c/src/lib/libbsp/m68k/sim68000/configure.ac
@@ -15,6 +15,16 @@ RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
+## bsp-specific options
+RTEMS_BSPOPTS_SET([CONSOLE_USE_INTERRUPTS],[*],[0])
+RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
+[The erc32 console driver can operate in either polled or interrupt mode.
+Under the simulator (especially when FAST_UART is defined), polled seems to operate
+better. It is common for a task to print a line (like the end of test message) and
+then exit. In this case, the program returns control to the simulator command line
+before the program has even queued the output to the uart. Thus sis has no chance
+of getting the data out.])
+
RTEMS_BSP_BOOTCARD_OPTIONS
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
diff --git a/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c b/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c
index 08663b3ae1..7173145d8d 100644
--- a/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c
+++ b/c/src/lib/libbsp/m68k/sim68000/console/conscfg.c
@@ -12,6 +12,7 @@
*/
#include <bsp.h>
+#include <bspopts.h>
#include <libchip/serial.h>
#include <libchip/mc68681.h>
@@ -37,26 +38,26 @@
#define MC68681_FUNCTIONS &mc68681_fns_polled
#endif
-console_tbl Console_Port_Tbl[] = {
- {
- "/dev/com0", /* sDeviceName */
- SERIAL_MC68681, /* deviceType */
- MC68681_FUNCTIONS, /* pDeviceFns */
- NULL, /* deviceProbe */
- NULL, /* pDeviceFlow */
- 16, /* ulMargin */
- 8, /* ulHysteresis */
- (void *)9600, /* baud rate */ /* pDeviceParams */
- MC68681_BASE_ADDRESS, /* ulCtrlPort1 */
- MC68681_BASE_ADDRESS, /* ulCtrlPort2 */
- MC68681_DATA_ADDRESS, /* ulDataPort */
- mc68681_get_register_2, /* getRegister */
- mc68681_set_register_2, /* setRegister */
- NULL, /* unused */ /* getData */
- NULL, /* unused */ /* setData */
- (uint32_t)mc68681_baud_rate_table, /* ulClock */
- MC68681_VECTOR /* ulIntVector */
- }
+console_tbl Console_Port_Tbl[] = {
+ {
+ "/dev/com0", /* sDeviceName */
+ SERIAL_MC68681, /* deviceType */
+ MC68681_FUNCTIONS, /* pDeviceFns */
+ NULL, /* deviceProbe */
+ NULL, /* pDeviceFlow */
+ 16, /* ulMargin */
+ 8, /* ulHysteresis */
+ (void *)9600, /* pDeviceParams */
+ MC68681_BASE_ADDRESS, /* ulCtrlPort1 */
+ MC68681_BASE_ADDRESS, /* ulCtrlPort2 */
+ MC68681_DATA_ADDRESS, /* ulDataPort */
+ mc68681_get_register_2, /* getRegister */
+ mc68681_set_register_2, /* setRegister */
+ NULL, /* unused */ /* getData */
+ NULL, /* unused */ /* setData */
+ (uint32_t)mc68681_baud_rate_table, /* ulClock */
+ MC68681_VECTOR /* ulIntVector */
+ }
};
/*