2008-08-14 06:48:10

by Jeffrey V. Merkey

[permalink] [raw]
Subject: [PATCH 2.6.27-rc3 19/29] mdb: adding notify_die handler for keyboard debugger entry

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) {