Lines Matching refs:gdb

9 import gdb
26 raise gdb.GdbError('Only support CONFIG_SPARSEMEM_VMEMMAP now')
30 raise gdb.GdbError('Only support aarch64 now')
51 self.vabits_actual = gdb.parse_and_eval('vabits_actual')
55 self.kimage_voffset = gdb.parse_and_eval('kimage_voffset') & ((1 << 64) - 1)
71 self.SECTIONS_PER_ROOT = self.PAGE_SIZE // gdb.lookup_type("struct mem_section").sizeof
82 self.SECTION_HAS_MEM_MAP = 1 << int(gdb.parse_and_eval('SECTION_HAS_MEM_MAP_BIT'))
83 self.SECTION_IS_EARLY = 1 << int(gdb.parse_and_eval('SECTION_IS_EARLY_BIT'))
100 self.memstart_addr = gdb.parse_and_eval("memstart_addr")
102 self.vmemmap = gdb.Value(self.VMEMMAP_START).cast(utils.get_page_type().pointer()) - (self.memstart_addr >> self.PAGE_SHIFT)
104 self.KERNEL_START = gdb.parse_and_eval("_text")
105 self.KERNEL_END = gdb.parse_and_eval("_end")
130 mem_section = gdb.parse_and_eval("mem_section")
210 raise gdb.GdbError("Warning: virt_to_phys used for non-linear address: 0x%lx\n" % va)
237 raise gdb.GdbError("0x%x exceed kernel range" % x)
268 __idx = int((page.cast(gdb.lookup_type("unsigned long")) - self.VMEMMAP_START).cast(utils.get_ulong_type())) // self.struct_page_size
277 return gdb.Value(addr).cast(utils.get_page_type().pointer())
285 class LxPFN2Page(gdb.Command):
289 super(LxPFN2Page, self).__init__("lx-pfn_to_page", gdb.COMMAND_USER)
292 argv = gdb.string_to_argv(arg)
295 gdb.write("pfn_to_page(0x%x) = 0x%x\n" % (pfn, page))
299 class LxPage2PFN(gdb.Command):
303 super(LxPage2PFN, self).__init__("lx-page_to_pfn", gdb.COMMAND_USER)
306 argv = gdb.string_to_argv(arg)
308 page = gdb.Value(struct_page_addr).cast(utils.get_page_type().pointer())
310 gdb.write("page_to_pfn(0x%x) = 0x%x\n" % (page, pfn))
314 class LxPageAddress(gdb.Command):
318 super(LxPageAddress, self).__init__("lx-page_address", gdb.COMMAND_USER)
321 argv = gdb.string_to_argv(arg)
323 page = gdb.Value(struct_page_addr).cast(utils.get_page_type().pointer())
325 gdb.write("page_address(0x%x) = 0x%x\n" % (page, addr))
329 class LxPage2Phys(gdb.Command):
333 super(LxPage2Phys, self).__init__("lx-page_to_phys", gdb.COMMAND_USER)
336 argv = gdb.string_to_argv(arg)
338 page = gdb.Value(struct_page_addr).cast(utils.get_page_type().pointer())
340 gdb.write("page_to_phys(0x%x) = 0x%x\n" % (page, phys_addr))
344 class LxVirt2Phys(gdb.Command):
348 super(LxVirt2Phys, self).__init__("lx-virt_to_phys", gdb.COMMAND_USER)
351 argv = gdb.string_to_argv(arg)
354 gdb.write("virt_to_phys(0x%x) = 0x%x\n" % (linear_addr, phys_addr))
358 class LxVirt2Page(gdb.Command):
362 super(LxVirt2Page, self).__init__("lx-virt_to_page", gdb.COMMAND_USER)
365 argv = gdb.string_to_argv(arg)
368 gdb.write("virt_to_page(0x%x) = 0x%x\n" % (linear_addr, page))
372 class LxSym2PFN(gdb.Command):
376 super(LxSym2PFN, self).__init__("lx-sym_to_pfn", gdb.COMMAND_USER)
379 argv = gdb.string_to_argv(arg)
382 gdb.write("sym_to_pfn(0x%x) = %d\n" % (sym_addr, pfn))
386 class LxPFN2Kaddr(gdb.Command):
390 super(LxPFN2Kaddr, self).__init__("lx-pfn_to_kaddr", gdb.COMMAND_USER)
393 argv = gdb.string_to_argv(arg)
396 gdb.write("pfn_to_kaddr(%d) = 0x%x\n" % (pfn, kaddr))