kvm_dump_mkheader, kvm_dump_wrtheader, kvm_dump_inval -
crash dump support
functions
#include <kvm.h>
int
kvm_dump_mkheader(kvm_t *kd, off_t dump_off);
int
kvm_dump_wrtheader(kvm_t *kd, FILE *fp, int dumpsize);
int
kvm_dump_inval(kvm_t *kd);
First note that the functions described here were designed
to be used by
savecore(8).
The function kvm_dump_mkheader() checks if the physical memory file associated
with kd contains a valid crash dump header as generated by a dumping
kernel. When a valid header is found,
kvm_dump_mkheader() initializes
the internal kvm data structures as if a crash dump
generated by the
savecore(8) program was opened. This has the intentional
side effect of
enabling the address translation machinery.
A call to kvm_dump_mkheader() will most likely be followed
by a call to
kvm_dump_wrtheader(). This function takes care of generating the generic
header, the CORE_CPU section and the section header of the
CORE_DATA section.
The data is written to the file pointed at by fp.
The dumpsize
argument is only used to properly set the segment size of
the CORE_DATA
section. Note that this function assumes that fp is positioned at file
location 0. This function will not seek and therefore allows fp to be a
file pointer obtained by zopen().
The kvm_dump_inval() function clears the magic number in the
physical
memory file associated with kd. The address translations
must be enabled
for this to work (thus assuming that kvm_dump_mkheader() was
called earlier
in the sequence).
All functions return 0 on success, -1 on failure. In the
case of failure,
kvm_geterr(3) can be used to retrieve the cause of the
error.
kvm(3)
These functions first appeared in NetBSD 1.1a.
OpenBSD 3.6 March 17, 1996
[ Back ] |