add vm probing for x86_64
[lunaix-os.git] / lunaix-os / scripts / gdb / lunadbg / mem.py
index 558ad3a66e6388ce52f780c1b49e69ffdd3ccf06..a51560c1161252cd4efe410c40478e2ea3c228e8 100644 (file)
@@ -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":