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 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/include/bsp.h | 1 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/startup/Makefile.in | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/timer/timer.c | 2 |
6 files changed, 22 insertions, 4 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)) diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h index 1e7a4a6506..002bf3b587 100644 --- a/c/src/lib/libbsp/i386/pc386/include/bsp.h +++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h @@ -52,6 +52,7 @@ extern "C" { #include <console.h> #include <clockdrv.h> #include <libcpu/cpu.h> +#include <bspIo.h> /*-------------------------------------------------------------------------+ | Constants diff --git a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in index 0cf32409d4..3ac6b77792 100644 --- a/c/src/lib/libbsp/i386/pc386/startup/Makefile.in +++ b/c/src/lib/libbsp/i386/pc386/startup/Makefile.in @@ -58,7 +58,7 @@ preinstall: ${PGM}: ${SRCS} ${OBJS} $(make-rel) -all: ${ARCH} $(SRCS) $(PGM) +all: ${ARCH} preinstall $(SRCS) $(PGM) $(INSTALL) $(srcdir)/linkcmds ${PROJECT_RELEASE}/lib # the .rel file built here will be put into libbsp.a by ../wrapup/Makefile diff --git a/c/src/lib/libbsp/i386/pc386/timer/timer.c b/c/src/lib/libbsp/i386/pc386/timer/timer.c index 650c6a5a5e..4fe0fb2cd9 100644 --- a/c/src/lib/libbsp/i386/pc386/timer/timer.c +++ b/c/src/lib/libbsp/i386/pc386/timer/timer.c @@ -176,7 +176,7 @@ void timerOn(const rtems_raw_irq_connect_data* used) outport_byte(TIMER_CNTR0, US_TO_TICK(US_PER_ISR) >> 0 & 0xff); outport_byte(TIMER_CNTR0, US_TO_TICK(US_PER_ISR) >> 8 & 0xff); /* - * disable interrrupt at i8259 level + * enable interrrupt at i8259 level */ pc386_irq_enable_at_i8259s(used->idtIndex - PC386_IRQ_VECTOR_BASE); } |