.\" $NetBSD: kvm_dump.3,v 1.13 2003/05/16 10:24:55 wiz 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. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Leo Weppelman. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" 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 .br .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 . > 2019-08-09PR/54307: Rin Okuyama: Lots of jemalloc assertions in latest -currentchristos 2019-07-27Ensure that percpu_arena_update is really dead if it shouldn't work andjoerg 2019-05-14Hack around clang powerpc tls_model("initial-exec") pic issue; this is gross.christos 2019-05-05PR/54133: Sevan Janiyan: Binaries fail to executechristos 2019-04-26Back to using MAX_PAGE_SHIFTchristos 2019-04-18no tls for sun2 either.christos 2019-04-14Declare the tls model in external declarations. Pointed out by joerg.christos 2019-04-09Use MIN_PAGE_SHIFT if PAGE_SHIFT is not available instead of MAX_PAGE_SHIFT.christos 2019-04-02Vax ain't having any of that newfangled TLS crap (yet).christos 2019-03-29there is no elifdefchristos 2019-03-29Change strategy: instead of always defining PAGE_SHIFT in vmparam.h, failchristos 2019-03-28Add 2K page size tables (sun2)christos 2019-03-27alignment for sh3christos 2019-03-27add tables for 16K page sizeschristos 2019-03-27vaxinate!christos 2019-03-27LG_QUANTUM is 4 for both sparc and sparc64martin 2019-03-21Add size variants for architectures with PGSHIFT = 13martin 2019-03-14Remove __clang___ hacks for noreturn, reduce footprint when we don't compilechristos 2019-03-12- descend to build libjemallocchristos 2019-03-10one more noreturnchristos 2019-03-10Add noreturn for the benefit of clangchristos 2019-03-10clang does not have the gnu_printf attributechristos 2019-03-10Rename je_mallctltomib to je_mallctlnametomibkamil 2019-03-10Make the non-standard jemalloc api weak.christos 2019-03-05Fix debugging compilationchristos 2019-03-05Add some XXX for things I need to fix later, and fix some of the hard-coding.christos 2019-03-05fix const cast with custom "unconst"christos 2019-03-05revert previous; not needed.christos 2019-03-05Check that the previous link exists before merging it.christos 2019-03-04Add fallthough comments.christos 2019-03-04use __format_arg__ to check arguments...christos 2019-03-04Put back braces.christos 2019-03-04use ATOMIC_INIT()christos 2019-03-04Add header files (generated and not)christos