How to traverse all resident pages in kernel?

Yue Chen ycyc321 at gmail.com
Sun Mar 22 00:41:05 UTC 2015


Hi all,

For research purposes, I am trying to get all the virtual memory starting
address of every page in kernel.

First I tried to traverse vm_map_entry and its sub-entries to get the
address range. However, not all the pages are present between the ``start''
and the ``end''. (struct vm_map_entry *node, node->start, node->end).

Then I tried to get the virtual address of each page by vm_object and
vm_page, but it seems nothing describing the page virtual address in these
structures.

Is there any way to get all the resident pages' virtual addresses in kernel?

Best regards,
Yue


More information about the freebsd-hackers mailing list