December 24, 2005 CPU_COREDUMP 9

### NAME

cpu_coredump - machine-dependent process core dump interface

### SYNOPSIS

```int` cpu_coredump(```struct lwp *l``, void *iocookie``, struct core *chdr`)
```int` cpu_coredump32(```struct lwp *l``, void *iocookie``, struct core32 *chdr`)

### DESCRIPTION

cpu_coredump(``) is the machine-dependent interface invoked by machine-independent code to dump the machine-dependent header information at the start of a process core dump. The header information primarily consists of the CPU and floating-point registers. ```l` is the lwp structure of the thread being dumped. ```iocookie` is an opaque pointer to be passed to coredump_write(``). Information about the machine-dependent header sections are returned in ```chdr`.

cpu_coredump(``) returns 0 on success and an appropriate error code on failure.

### CODE REFERENCES

This section describes places within the NetBSD source tree where actual code implementing or using the machine-dependent coredump interface can be found. All pathnames are relative to ```/usr/src`.

Process core dumps are initiated within the file ```sys/kern/kern_sig.c`. Process core dumps for ELF NetBSD binaries are performed within the files ```sys/kern/core_elf32.c` or ```sys/kern/core_elf64.c`. Process core dumps for other NetBSD binaries are performed within the file ```sys/kern/core_netbsd.c`.

### SEE ALSO

coredump_write(9)