Writing Device Drivers

Exclusive Use of DDI Access Handles

All PIO access by a driver must use Solaris DDI access functions from the following families of routines:

The driver should not directly access the mapped registers by the address that is returned from ddi_regs_map_setup(9F). Avoid the ddi_peek(9F) and ddi_poke(9F) routines because these routines do not use access handles.

The DDI access mechanism is important because DDI access provides an opportunity to control how data is read into the kernel.