]> err.no Git - linux-2.6/commitdiff
[IA64] Replace stale KDB-code with useful MAGIC_SYSRQ code in simserial.c
authorDavid Mosberger-Tang <davidm@hpl.hp.com>
Fri, 10 Jun 2005 05:40:00 +0000 (22:40 -0700)
committerTony Luck <tony.luck@intel.com>
Tue, 28 Jun 2005 16:58:29 +0000 (09:58 -0700)
Patch makes it possible to use the "F4" function key to do
magic sysrq in the HP Ski simulator.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/hp/sim/simserial.c

index 786e70718ce4fb69fc23985449e4fbe1999d01b5..7a8ae0f4b3876f0c888752e2959ccd1e36e23cb1 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/module.h>
 #include <linux/serial.h>
 #include <linux/serialP.h>
+#include <linux/sysrq.h>
 
 #include <asm/irq.h>
 #include <asm/hw_irq.h>
@@ -149,12 +150,17 @@ static  void receive_chars(struct tty_struct *tty, struct pt_regs *regs)
                                seen_esc = 2;
                                continue;
                        } else if ( seen_esc == 2 ) {
-                               if ( ch == 'P' ) show_state();          /* F1 key */
-#ifdef CONFIG_KDB
-                               if ( ch == 'S' )
-                                       kdb(KDB_REASON_KEYBOARD, 0, (kdb_eframe_t) regs);
+                               if ( ch == 'P' ) /* F1 */
+                                       show_state();
+#ifdef CONFIG_MAGIC_SYSRQ
+                               if ( ch == 'S' ) { /* F4 */
+                                       do
+                                               ch = ia64_ssc(0, 0, 0, 0,
+                                                             SSC_GETCHAR);
+                                       while (!ch);
+                                       handle_sysrq(ch, regs, NULL);
+                               }
 #endif
-
                                seen_esc = 0;
                                continue;
                        }