DEVMAP_CALLBACK_CTL(9S) | Data Structures for Drivers | DEVMAP_CALLBACK_CTL(9S) |
#include <sys/ddidevmap.h>
Device drivers pass the initialized devmap_callback_ctl structure to either devmap_devmem_setup(9F) or devmap_umem_setup(9F) in the devmap(9E) entry point during the mapping setup. The system makes a private copy of the structure for later use. Device drivers can specify different devmap_callback_ctl for different mappings.
A device driver should allocate the device mapping control structure and initialize the following fields, if the driver wants the entry points to be called by the system:
devmap_rev
devmap_map
devmap_access
devmap_dup
devmap_unmap
int devmap_rev; int (*devmap_map)(devmap_cookie_t dhp, dev_t dev, uint_t flags,offset_t off, size_t len, void **pvtp); int (*devmap_access)(devmap_cookie_t dhp, void *pvtp, offset_t off, size_t len, uint_t type, uint_t rw); int (*devmap_dup)(devmap_cookie_t dhp, void *pvtp, devmap_cookie_t new_dhp, void **new_pvtp); void (*devmap_unmap)(devmap_cookie_t dhp, void *pvtp, offset_t off, size_t len, devmap_cookie_t new_dhp1, void **new_pvtp1, devmap_cookie_t new_dhp2, void **new_pvtp2);
Writing Device Drivers
July 24, 1996 | OmniOS |