mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 02:19:51 +00:00
![Jason Wessel](/assets/img/avatar_default.png)
This patch adds in the kdb PS/2 keyboard driver. This was mostly a direct port from the original kdb where I cleaned up the code against checkpatch.pl and added the glue to stitch it into kgdb. This patch also enables early kdb debug via kgdbwait and the keyboard. All the access to configure kdb using either a serial console or the keyboard is done via kgdboc. If you want to use only the keyboard and want to break in early you would add to your kernel command arguments: kgdboc=kbd kgdbwait If you wanted serial and or the keyboard access you could use: kgdboc=kbd,ttyS0 You can also configure kgdboc as a kernel module or at run time with the sysfs where you can activate and deactivate kgdb. Turn it on: echo kbd,ttyS0 > /sys/module/kgdboc/parameters/kgdboc Turn it off: echo "" > /sys/module/kgdboc/parameters/kgdboc Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
25 lines
1.1 KiB
Makefile
25 lines
1.1 KiB
Makefile
# This file is subject to the terms and conditions of the GNU General Public
|
|
# License. See the file "COPYING" in the main directory of this archive
|
|
# for more details.
|
|
#
|
|
# Copyright (c) 1999-2004 Silicon Graphics, Inc. All Rights Reserved.
|
|
# Copyright (c) 2009 Wind River Systems, Inc. All Rights Reserved.
|
|
#
|
|
|
|
CCVERSION := $(shell $(CC) -v 2>&1 | sed -ne '$$p')
|
|
obj-y := kdb_io.o kdb_main.o kdb_support.o kdb_bt.o gen-kdb_cmds.o kdb_bp.o kdb_debugger.o
|
|
obj-$(CONFIG_KDB_KEYBOARD) += kdb_keyboard.o
|
|
|
|
clean-files := gen-kdb_cmds.c
|
|
|
|
quiet_cmd_gen-kdb = GENKDB $@
|
|
cmd_gen-kdb = $(AWK) 'BEGIN {print "\#include <linux/stddef.h>"; print "\#include <linux/init.h>"} \
|
|
/^\#/{next} \
|
|
/^[ \t]*$$/{next} \
|
|
{gsub(/"/, "\\\"", $$0); \
|
|
print "static __initdata char kdb_cmd" cmds++ "[] = \"" $$0 "\\n\";"} \
|
|
END {print "extern char *kdb_cmds[]; char __initdata *kdb_cmds[] = {"; for (i = 0; i < cmds; ++i) {print " kdb_cmd" i ","}; print(" NULL\n};");}' \
|
|
$(filter-out %/Makefile,$^) > $@#
|
|
|
|
$(obj)/gen-kdb_cmds.c: $(src)/kdb_cmds $(src)/Makefile
|
|
$(call cmd,gen-kdb)
|