added module support for keyboard debugger entry point and
notify_die entry point.
Signed-off-by: Jeffrey Vernon Merkey ([email protected])
--- a/drivers/char/keyboard.c 2008-08-13 14:22:15.000000000 -0600
+++ b/drivers/char/keyboard.c 2008-08-13 11:56:03.000000000 -0600
@@ -44,6 +44,10 @@
#include <linux/notifier.h>
#include <linux/jiffies.h>
+#if defined(CONFIG_MDB) || defined(CONFIG_MDB_MODULE)
+#include <linux/kdebug.h>
+#endif
+
extern void ctrl_alt_del(void);
#define to_handle_h(n) container_of(n, struct input_handle, h_node)
@@ -1180,6 +1184,15 @@
if (keycode < BTN_MISC && printk_ratelimit())
printk(KERN_WARNING "keyboard.c: can't emulate rawmode for keycode %d\n", keycode);
+#if defined(CONFIG_MDB) || defined(CONFIG_MDB_MODULE)
+ if (down && !rep && keycode == KEY_PAUSE)
+ {
+ if (notify_die(DIE_KERNELDEBUG, NULL, get_irq_regs(),
+ 0, -1, SIGINT) == NOTIFY_STOP)
+ return;
+ }
+#endif
+
#ifdef CONFIG_MAGIC_SYSRQ /* Handle the SysRq Hack */
if (keycode == KEY_SYSRQ && (sysrq_down || (down == 1 && sysrq_alt))) {
if (!sysrq_down) {