Go to main content

man pages section 9: DDI and DKI Driver Entry Points

Exit Print View

Updated: Thursday, June 13, 2019
 
 

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

Solaris specific (Solaris 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 in Oracle Solaris 11.4