Commit Graph

3 Commits

Author SHA1 Message Date
atatat a88940798c Add some more intricate groveler options:
-A address   Dumps the vm_amap structure found at address.

     -E address   Dumps the vm_map_entry structure found at address.

     -S address   Dumps the vmspace structure found at address.

     -V address   Dumps the vm_map structure found at address.

This required reorganizing the code a little, which led to some
cleanup (yay!).  These new methods are executed without any extra
privileges, so you need read access on /dev/mem or on the kernel core
into which you are digging.

This should be useful for, eg, examining amaps are corrupt when being
destroyed, which can cause a kernel panic (and, hence, are no longer
connected to a map entry, or the map entry is no longer connected to a
vm_map/vmspace).

The options in the man page have also been reorganized.
2003-04-04 03:49:20 +00:00
atatat 2242d20a09 Add the capability to dump the struct vm_amap and the am_anon,
am_bckptr, am_slots, and am_anon data, if the vm_map_entry has an
amap.  This adds three new debug "bits" to the -D argument, so the
namei cache dumping "bit" has been moved up.

Also, change the * that gets emitted with -vv to indicate the number
of pages skipped and the size of the area (in kilobytes).
2003-03-28 23:10:32 +00:00
atatat a26b7f4d29 Make pmap work on LOCKDEBUG *and* non-LOCKDEBUG kernels (previously it
would fail in spectacular ways on LOCKDEBUG kernels) by compiling the
groveler code twice (the second time with LOCKDEBUG defined so that
the appropriate structures get larger in the right way).  We currently
decide if we are operating on a kernel with LOCKDEBUG enabled if the
kernel's vm_map has referential integrity between a few pointers
and/or values.

Also, if you use more than one -v, you get a * on a line by itself in
between gaps in entries.  It makes finding gaps much easier visually.
2003-01-08 20:25:12 +00:00