Lines Matching +full:built +full:- +full:into
15 Kdb is simplistic shell-style interface which you can use on a system
22 kernel built-ins or in kernel modules if the code was built with
40 kgdb I/O modules compiled as built-ins or loadable kernel modules in the
46 - In order to enable compilation of kdb, you must first enable kgdb.
48 - The kgdb test compile options are described in the kgdb test suite
52 ------------------------------
55 :menuselection:`Kernel hacking --> Kernel debugging` and select
66 into the compiled executable which saves the frame information in registers
73 certain regions of the kernel's memory space as read-only. If kgdb
80 driver that supports early debugging and the driver must be built into
93 -----------------------------
99 ``lsmod``, or ``ps``. In order to build kdb into the kernel you follow the
108 If you want to use a PS/2-style keyboard with kdb, you would select
132 ------------------------
144 built-in or a kernel loadable module. You can only make use of
145 ``kgdbwait`` and early debugging if you build kgdboc into the kernel as
146 a built-in.
168 - kms = Kernel Mode Setting
170 - kbd = Keyboard
178 Using loadable module or built-in
181 1. As a kernel built-in:
185 kgdboc=<tty-device>,[baud]
191 modprobe kgdboc kgdboc=<tty-device>,[baud]
205 into sysfs. Here are two examples:
258 protocol. You must manually send a `SysRq-G` unless you have a proxy
261 "human" console. The proxy can take care of sending the `SysRq-G`
272 don't like this are to hack gdb to send the `SysRq-G` for you as well as
277 -------------------------------------
301 ------------------------------
305 option if you compiled a kgdb I/O driver into the kernel and you
316 -----------------------------
351 ----------------------------------
359 .. flat-table::
362 * - 1
363 - ``echo -1 > /sys/module/debug_core/parameters/kgdbreboot``
364 - Ignore the reboot notification entirely.
366 * - 2
367 - ``echo 0 > /sys/module/debug_core/parameters/kgdbreboot``
368 - Send the detach message to any attached debugger client.
370 * - 3
371 - ``echo 1 > /sys/module/debug_core/parameters/kgdbreboot``
372 - Enter the debugger on reboot notify.
375 -----------------------------
387 ------------------------------------
404 manually; all involve using the `SysRq-G`, which means you must have
407 - When logged in as root or with a super user session you can run::
409 echo g > /proc/sysrq-trigger
411 - Example using minicom 2.2
413 Press: `CTRL-A` `f` `g`
415 - When you have telneted to a terminal server that supports sending
418 Press: `CTRL-]`
443 time could be adversely affected, so you should take this into
447 ------------------------------------------------------
463 manually; all involve using the `SysRq-G`, which means you must have
466 - When logged in as root or with a super user session you can run::
468 echo g > /proc/sysrq-trigger
470 - Example using a laptop keyboard:
484 - Example using a PS/2 101-key keyboard
516 ------------------------------------
530 2. Stop kernel execution (break into the debugger)
534 using kgdbwait as a boot argument, via a `SysRq-G`, or running the
538 - When logged in as root or with a super user session you can run::
540 echo g > /proc/sysrq-trigger
542 - Example using minicom 2.2
544 Press: `CTRL-A` `f` `g`
546 - When you have telneted to a terminal server that supports sending
549 Press: `CTRL-]`
581 to issue an other `SysRq-G`. It is easy to create a simple entry point by
583 shell or script to break into the debugger.
593 ------------------------------
615 Now you must kill gdb. Typically you press `CTRL-Z` and issue
618 kill -9 %
628 automatically changes into kgdb mode.
638 -----------------------------
686 ----------------------
688 The kernel debugger is organized into a number of components:
695 - A generic OS exception handler which includes sync'ing the
696 processors into a stopped state on an multi-CPU system.
698 - The API to talk to the kgdb I/O drivers
700 - The API to make calls to the arch-specific kgdb implementation
702 - The logic to perform safe memory reads and writes to memory while
705 - A full implementation for software breakpoints unless overridden
708 - The API to invoke either the kdb or kgdb frontend to the debug
711 - The structures and callback API for atomic kernel mode setting.
715 2. kgdb arch-specific implementation
721 The arch-specific portion implements:
723 - contains an arch-specific trap catcher which invokes
726 - translation to and from gdb specific packet format to struct pt_regs
728 - Registration and unregistration of architecture specific trap
731 - Any special exception handling and cleanup
733 - NMI exception handling and cleanup
735 - (optional) HW breakpoints
741 - All the logic to implement the gdb serial protocol
745 The kdb debugger shell is broken down into a number of components.
752 - A simple shell
754 - The kdb core command set
756 - A registration API to register additional kdb shell commands.
758 - A good example of a self-contained kdb module is the ``ftdump``
762 - For an example of how to dynamically register a new kdb command
769 - The implementation for kdb_printf() which emits messages directly
772 - SW / HW breakpoint management for the kdb shell
779 - configuration via built-in or module
781 - dynamic configuration and kgdb hook registration calls
783 - read and write character interface
785 - A cleanup handler for unconfiguring from the kgdb core
787 - (optional) Early debug methodology
807 - ``NUMREGBYTES``:
809 can ensure they will all fit into a packet.
811 - ``BUFMAX``:
812 The size in bytes of the buffer GDB will read into. This must
815 - ``CACHE_FLUSH_IS_SAFE``:
822 ``kernel/kgdb.c``, that must be supplied by the architecture-specific
827 .. kernel-doc:: include/linux/kgdb.h
831 ----------------
869 attached keyboard. The keyboard infrastructure is only compiled into the
873 ``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core
875 :c:expr:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level
933 - Jason Wessel <[email protected]>
937 - Jason Wessel <[email protected]>