| KVM_DUMP_MKHEADER(3) | Library Functions Manual | KVM_DUMP_MKHEADER(3) |
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.
These functions first appeared in NetBSD 1.1A.
| January 4, 2023 | openbsd |