
Imported with no changes, but not all parts are expected to be functional. The libc nlist functionality is enabled for the purpose of successful linking, although the nlist functionaly has not been tested on MINIX3 nor is it needed for how we use libkvm. In terms of function calls: kvm_getproc2, kvm_getargv2, kvm_getenvv2, and kvm_getlwps are expected to work, whereas kvm_getproc, kvm_getargv, kvm_getenvv, and kvm_getfiles are not. Change-Id: I7539209736f1771fc0b7db5e839d2df72f5ac615
110 lines
3.5 KiB
Groff
110 lines
3.5 KiB
Groff
.\" $NetBSD: kvm_dump.3,v 1.15 2009/10/20 19:10:09 snj Exp $
|
|
.\"
|
|
.\" Copyright (c) 1996 Leo Weppelman
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\"
|
|
.Dd March 17, 1996
|
|
.Dt KVM_DUMP 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm kvm_dump_mkheader ,
|
|
.Nm kvm_dump_wrtheader ,
|
|
.Nm kvm_dump_inval
|
|
.Nd crash dump support functions
|
|
.Sh LIBRARY
|
|
.Lb libkvm
|
|
.Sh SYNOPSIS
|
|
.In kvm.h
|
|
.Ft int
|
|
.Fn kvm_dump_mkheader "kvm_t *kd" "off_t dump_off"
|
|
.Ft int
|
|
.Fn kvm_dump_wrtheader "kvm_t *kd" "FILE *fp" "int dumpsize"
|
|
.Ft int
|
|
.Fn kvm_dump_inval "kvm_t *kd"
|
|
.Sh DESCRIPTION
|
|
First note that the functions described here were designed to be used by
|
|
.Xr savecore 8 .
|
|
.Pp
|
|
The function
|
|
.Fn kvm_dump_mkheader
|
|
checks if the physical memory file associated with
|
|
.Fa kd
|
|
contains a valid crash dump header as generated by a dumping kernel.
|
|
When a valid header is found,
|
|
.Fn kvm_dump_mkheader
|
|
initializes the internal kvm data structures as if a crash dump generated by
|
|
the
|
|
.Xr savecore 8
|
|
program was opened.
|
|
This has the intentional side effect of enabling the
|
|
address translation machinery.
|
|
.Pp
|
|
A call to
|
|
.Fn kvm_dump_mkheader
|
|
will most likely be followed by a call to
|
|
.Fn 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
|
|
.Fa fp .
|
|
The
|
|
.Fa dumpsize
|
|
argument is only used to properly the set the segment size of the CORE_DATA
|
|
section.
|
|
Note that this function assumes that
|
|
.Fa fp
|
|
is positioned at file location 0.
|
|
This function will not seek and therefore allows
|
|
.Fa fp
|
|
to be a file pointer obtained by
|
|
.Fn zopen .
|
|
.Pp
|
|
The
|
|
.Fn kvm_dump_inval
|
|
function clears the magic number in the physical memory file associated with
|
|
.Fa kd .
|
|
The address translations must be enabled for this to work (thus assuming
|
|
that
|
|
.Fn kvm_dump_mkheader
|
|
was called earlier in the sequence).
|
|
.Sh RETURN VALUES
|
|
All functions except
|
|
.Fn kvm_dump_mkheader
|
|
return 0 on success, -1 on failure.
|
|
The function
|
|
.Fn kvm_dump_mkheader
|
|
returns the size of the headers present before the actual dumpdata starts.
|
|
If no valid headers were found but no fatal errors occurred, 0 is returned.
|
|
On fatal errors the return value is -1.
|
|
.Pp
|
|
In the case of failure,
|
|
.Xr kvm_geterr 3
|
|
can be used to retrieve the cause of the error.
|
|
.Sh SEE ALSO
|
|
.Xr kvm 3 ,
|
|
.Xr kvm_open 3
|
|
.Sh HISTORY
|
|
These functions first appeared in
|
|
.Nx 1.2 .
|