/* * Copyright (C) 2003, 2004 Stefan Reinauer * * See the file "COPYING" for further information about * the copyright and warranty status of this work. */ #include "config.h" #include "libopenbios/bindings.h" #include "kernel/kernel.h" #include "drivers/drivers.h" #include "libopenbios/fontdata.h" #include "openbios.h" #include "libc/vsprintf.h" #include "libopenbios/sys_info.h" #include "boot.h" /* ****************************************************************** * simple polling video/keyboard console functions * ****************************************************************** */ #ifdef CONFIG_DEBUG_CONSOLE /* ****************************************************************** * common functions, implementing simple concurrent console * ****************************************************************** */ int putchar(int c) { #ifdef CONFIG_DEBUG_CONSOLE_SERIAL serial_putchar(c); #endif return c; } int availchar(void) { #ifdef CONFIG_DEBUG_CONSOLE_SERIAL if (uart_charav(CONFIG_SERIAL_PORT)) return 1; #endif #ifdef CONFIG_DEBUG_CONSOLE_VGA if (pc_kbd_dataready()) return 1; #endif return 0; } int getchar(void) { #ifdef CONFIG_DEBUG_CONSOLE_SERIAL if (uart_charav(CONFIG_SERIAL_PORT)) return (uart_getchar(CONFIG_SERIAL_PORT)); #endif #ifdef CONFIG_DEBUG_CONSOLE_VGA if (pc_kbd_dataready()) return (pc_kbd_readdata()); #endif return 0; } void cls(void) { #ifdef CONFIG_DEBUG_CONSOLE_SERIAL serial_putchar(27); serial_putchar('['); serial_putchar('H'); serial_putchar(27); serial_putchar('['); serial_putchar('J'); #endif } #endif // CONFIG_DEBUG_CONSOLE