xref: /linux-6.15/scripts/gdb/linux/proc.py (revision 72bf92ec)
12d061d99SKieran Bingham#
22d061d99SKieran Bingham# gdb helper commands and functions for Linux kernel debugging
32d061d99SKieran Bingham#
42d061d99SKieran Bingham#  Kernel proc information reader
52d061d99SKieran Bingham#
62d061d99SKieran Bingham# Copyright (c) 2016 Linaro Ltd
72d061d99SKieran Bingham#
82d061d99SKieran Bingham# Authors:
92d061d99SKieran Bingham#  Kieran Bingham <[email protected]>
102d061d99SKieran Bingham#
112d061d99SKieran Bingham# This work is licensed under the terms of the GNU GPL version 2.
122d061d99SKieran Bingham#
132d061d99SKieran Bingham
142d061d99SKieran Binghamimport gdb
152d061d99SKieran Bingham
162d061d99SKieran Bingham
17*72bf92ecSKieran Binghamclass LxCmdLine(gdb.Command):
18*72bf92ecSKieran Bingham    """ Report the Linux Commandline used in the current kernel.
19*72bf92ecSKieran Bingham        Equivalent to cat /proc/cmdline on a running target"""
20*72bf92ecSKieran Bingham
21*72bf92ecSKieran Bingham    def __init__(self):
22*72bf92ecSKieran Bingham        super(LxCmdLine, self).__init__("lx-cmdline", gdb.COMMAND_DATA)
23*72bf92ecSKieran Bingham
24*72bf92ecSKieran Bingham    def invoke(self, arg, from_tty):
25*72bf92ecSKieran Bingham        gdb.write(gdb.parse_and_eval("saved_command_line").string() + "\n")
26*72bf92ecSKieran Bingham
27*72bf92ecSKieran BinghamLxCmdLine()
28*72bf92ecSKieran Bingham
29*72bf92ecSKieran Bingham
302d061d99SKieran Binghamclass LxVersion(gdb.Command):
312d061d99SKieran Bingham    """ Report the Linux Version of the current kernel.
322d061d99SKieran Bingham        Equivalent to cat /proc/version on a running target"""
332d061d99SKieran Bingham
342d061d99SKieran Bingham    def __init__(self):
352d061d99SKieran Bingham        super(LxVersion, self).__init__("lx-version", gdb.COMMAND_DATA)
362d061d99SKieran Bingham
372d061d99SKieran Bingham    def invoke(self, arg, from_tty):
382d061d99SKieran Bingham        # linux_banner should contain a newline
392d061d99SKieran Bingham        gdb.write(gdb.parse_and_eval("linux_banner").string())
402d061d99SKieran Bingham
412d061d99SKieran BinghamLxVersion()
42