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:
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":