Writing Device Drivers

dump() Entry Point (Block Drivers)

The dump(9E) entry point is used to copy a portion of virtual address space directly to the specified device in the case of a system failure. dump() is also used to copy the state of the kernel out to disk during a checkpoint operation. See the cpr(7) and dump(9E) man pages for more information. The entry point must be capable of performing this operation without the use of interrupts, because interrupts are disabled during the checkpoint operation.

int dump(dev_t dev, caddr_t addr, daddr_t blkno, int nblk)

where:

dev

Device number of the device to receive the dump.

addr

Base kernel virtual address at which to start the dump.

blkno

Block at which the dump is to start.

nblk

Number of blocks to dump.

The dump depends upon the existing driver working properly.