diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/Makefile.in | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/console.c | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/console/inch.c | 2 |
3 files changed, 19 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/console/Makefile.in b/c/src/lib/libbsp/i386/pc386/console/Makefile.in index bcfd781dd9..02a701c539 100644 --- a/c/src/lib/libbsp/i386/pc386/console/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/console/Makefile.in @@ -10,6 +10,8 @@ PROJECT_ROOT = @PROJECT_ROOT@ PGM=${ARCH}/console.rel +IMPORT_SRC=$(srcdir)/../../shared/io/printk.c + # C source names, if any, go here -- minus the .c C_PIECES=console inch outch printk C_FILES=$(C_PIECES:%=%.c) @@ -50,10 +52,13 @@ LDFLAGS += CLEAN_ADDITIONS += CLOBBER_ADDITIONS += +preinstall: + ${CP} ${IMPORT_SRC} . + ${PGM}: ${SRCS} ${OBJS} $(make-rel) -all: ${ARCH} $(SRCS) $(PGM) +all: ${ARCH} preinstall $(SRCS) $(PGM) # the .rel file built here will be put into libbsp.a by ../wrapup/Makefile install: all diff --git a/c/src/lib/libbsp/i386/pc386/console/console.c b/c/src/lib/libbsp/i386/pc386/console/console.c index fb711ef578..f67072a3c4 100644 --- a/c/src/lib/libbsp/i386/pc386/console/console.c +++ b/c/src/lib/libbsp/i386/pc386/console/console.c @@ -61,6 +61,8 @@ static rtems_irq_connect_data console_isr_data = {PC_386_KEYBOARD, extern rtems_boolean _IBMPC_scankey(char *); /* defined in 'inch.c' */ +extern BSP_polling_getchar_function_type BSP_wait_polled_input(); +extern void _IBMPC_initVideo(); void console_reserve_resources(rtems_configuration_table *conf) { @@ -475,6 +477,16 @@ conSetAttr(int minor, const struct termios *t) return 0; } +/* + * BSP initialization + */ + +BSP_output_char_function_type BSP_output_char = (BSP_output_char_function_type) _IBMPC_outch; +BSP_polling_getchar_function_type BSP_poll_char = BSP_wait_polled_input; +void BSP_emergency_output_init() +{ + _IBMPC_initVideo(); +} diff --git a/c/src/lib/libbsp/i386/pc386/console/inch.c b/c/src/lib/libbsp/i386/pc386/console/inch.c index 39c29f93e0..ee05f3bfa5 100644 --- a/c/src/lib/libbsp/i386/pc386/console/inch.c +++ b/c/src/lib/libbsp/i386/pc386/console/inch.c @@ -295,7 +295,7 @@ _IBMPC_inch(void) */ char -debugPollingGetChar(void) +BSP_wait_polled_input(void) { char c; while (!_IBMPC_scankey(&c)) |