Lines Matching refs:gdb

2 # gdb helper commands and functions for Linux kernel debugging
14 import gdb
27 return gdb.selected_thread().num - 1
29 tid = gdb.selected_thread().ptid[2]
35 raise gdb.GdbError("Sorry, obtaining the current CPU is not yet "
36 "supported with this gdb server.")
43 offset = gdb.parse_and_eval(
47 offset = gdb.parse_and_eval(
49 except gdb.error:
62 gdb.events.stop.disconnect(cpu_mask_invalidate)
63 if hasattr(gdb.events, 'new_objfile'):
64 gdb.events.new_objfile.disconnect(cpu_mask_invalidate)
73 mask = gdb.parse_and_eval(mask_name + ".bits")
74 if hasattr(gdb, 'events'):
76 gdb.events.stop.connect(cpu_mask_invalidate)
77 if hasattr(gdb.events, 'new_objfile'):
78 gdb.events.new_objfile.connect(cpu_mask_invalidate)
126 class LxCpus(gdb.Command):
133 super(LxCpus, self).__init__("lx-cpus", gdb.COMMAND_DATA)
136 gdb.write("Possible CPUs : {}\n".format(list(each_possible_cpu())))
137 gdb.write("Present CPUs : {}\n".format(list(each_present_cpu())))
138 gdb.write("Online CPUs : {}\n".format(list(each_online_cpu())))
139 gdb.write("Active CPUs : {}\n".format(list(each_active_cpu())))
145 class PerCpu(gdb.Function):
156 var_ptr = gdb.parse_and_eval("&" + var_name.string())
166 if gdb.lookup_global_symbol("cpu_tasks"):
169 var_ptr = gdb.parse_and_eval("(struct task_struct *)cpu_tasks[0].task")
172 var_ptr = gdb.parse_and_eval("&pcpu_hot.current_task")
175 current_task_addr = gdb.parse_and_eval("$SP_EL0")
180 raise gdb.GdbError("Sorry, obtaining the current task is not allowed "
183 current_tp = gdb.parse_and_eval("$tp")
184 scratch_reg = gdb.parse_and_eval("$sscratch")
198 raise gdb.GdbError("Sorry, obtaining the current task is not yet "
201 class LxCurrentFunc(gdb.Function):