/* * Kernel Debugger Architecture Dependent Console I/O handler * * This file is subject to the terms and conditions of the GNU General Public * License. * * Copyright (c) 1999-2006 Silicon Graphics, Inc. All Rights Reserved. * Copyright (c) 2009 Wind River Systems, Inc. All Rights Reserved. */ #include <linux/kdb.h> #include <linux/keyboard.h> #include <linux/ctype.h> #include <linux/io.h> #include "kdb_private.h" /* Keyboard Controller Registers on normal PCs. */ #define KBD_STATUS_REG … #define KBD_DATA_REG … /* Status Register Bits */ #define KBD_STAT_OBF … #define KBD_STAT_MOUSE_OBF … static int kbd_exists; static int kbd_last_ret; /* * Check if the keyboard controller has a keypress for us. * Some parts (Enter Release, LED change) are still blocking polled here, * but hopefully they are all short. */ int kdb_get_kbd_char(void) { … } EXPORT_SYMBOL_GPL(…); /* * Best effort cleanup of ENTER break codes on leaving KDB. Called on * exiting KDB, when we know we processed an ENTER or KP ENTER scan * code. */ void kdb_kbd_cleanup_state(void) { … }