/* * blantantly copied from linux/kernel/printk.c * * Copyright (C) 1991, 1992 Linus Torvalds * */ #include #include #include /* Keep together for sysctl support */ unsigned int console_loglevel = DEFAULT_CONSOLE_LOGLEVEL; void display(char*); extern int vtxprintf(void (*)(unsigned char), const char *, va_list); static spinlock_t console_lock = SPIN_LOCK_UNLOCKED; int do_printk(int msg_level, const char *fmt, ...) { va_list args; int i; if (msg_level >= console_loglevel) { return 0; } spin_lock(&console_lock); va_start(args, fmt); i = vtxprintf(console_tx_byte, fmt, args); va_end(args); console_tx_flush(); spin_unlock(&console_lock); return i; }