DUMP(9E) Driver Entry Points DUMP(9E)
NAME
dump - dump memory to device during system failure
SYNOPSIS
#include <sys/types.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int dump(
dev_t dev,
caddr_t addr,
daddr_t blkno,
int nblk);
INTERFACE LEVEL
illumos specific (illumos DDI). This entry point is
required. For
drivers that do not implement
dump() routines,
nodev(9F) should be
used.
ARGUMENTS
dev Device number.
addr Address for the beginning of the area to be dumped.
blkno Block offset to dump memory.
nblk Number of blocks to dump.
DESCRIPTION
dump() is used to dump a portion of virtual address space directly to
a device in the case of system failure. It can also be used for
checking the state of the kernel during a checkpoint operation. The
memory area to be dumped is specified by
addr (base address) and
nblk (length). It is dumped to the device specified by
dev starting at
offset
blkno. Upon completion
dump() returns the status of the
transfer.
When the system is panicking, the calls of functions scheduled by
timeout(9F) and
ddi_trigger_softintr(9F) will never occur. Neither
can
delay(9F) be relied upon, since it is implemented via
timeout().
See
ddi_in_panic(9F).
dump() is called at interrupt priority.
RETURN VALUES
dump() returns
0 on success, or the appropriate error number.
SEE ALSO
cpr(4),
nodev(9F) Writing Device Drivers October 9, 2001 DUMP(9E)