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)