At the moment, the only API for reading and writing an arbitrary
process' vmspace is proc_rwmem(). This function uses a uio to describe
the operation, so every caller must fill out a struct uio, which is
onerous. I propose adding a simpler interface on top of this which allow
for the common case of reading or writing a single kernel buffer.
Specifically, this change adds proc_readmem(9) and proc_writemem(9).
One detail I considered is whether the interface should support short
reads or writes. However, these cannot occur with the current
implementation of proc_rwmem(9), and no callers really check for this
condition anyway. Moreover, truncated I/Os would seem to be a
counterintuitive possibility since proc_rwmem(9) operates on
byte-granular memory rather than blocks. So the API does not support
them (and adds assertions to this effect).
The change also adds a manual page for these functions.