X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/47c4e0c19ae8526b14ce4e0d7b243f7a4dc6fafd..37c2b8f74c5a5733505851502282625f17435371:/lunaix-os/scripts/gdb/lunadbg/mem.py diff --git a/lunaix-os/scripts/gdb/lunadbg/mem.py b/lunaix-os/scripts/gdb/lunadbg/mem.py index 558ad3a..a51560c 100644 --- a/lunaix-os/scripts/gdb/lunadbg/mem.py +++ b/lunaix-os/scripts/gdb/lunadbg/mem.py @@ -2,6 +2,7 @@ from .commands import LunadbgCommand from .pp import MyPrettyPrinter from .profiling.pmstat import PhysicalMemProfile from .structs.pagetable import PageTable +from .arch.x86 import PageTableHelper class MMStats(LunadbgCommand): def __init__(self) -> None: @@ -60,13 +61,15 @@ class MMStats(LunadbgCommand): def vm_lookup(self, pp, va, optn): to_addr = int(optn.to_addr, 0) + vmt = PageTableHelper.vm_mnt() if not optn.n and not to_addr: - pp.print(self.__ptw.get_pte(va, level=optn.level)) + pp.print(self.__ptw.get_pte(va, level=optn.level, mnt=vmt)) + return + + if to_addr: + self.__ptw.print_ptes_between(pp, va, to_addr, optn.level, mnt=vmt) else: - if to_addr: - self.__ptw.print_ptes_between(pp, va, to_addr, optn.level) - else: - self.__ptw.print_ptes(pp, va, optn.n, optn.level) + self.__ptw.print_ptes(pp, va, optn.n, optn.level, mnt=vmt) def __do_stats(self, pp, optn): if optn.state_type == "pmem":