Go to main content

Writing Device Drivers for Oracle® Solaris 11.3

Exit Print View

Updated: March 2019
 
 

User Application Kernel and Device Access Functions

The user application kernel and device access functions are:

ddi_dev_nregs()

Return the number of register sets a device has

ddi_dev_regsize()

Return the size of a device's register

ddi_devmap_segmap(), devmap_setup()

Set up a user mapping to device memory using the devmap framework

devmap_devmem_setup()

Export device memory to user space

devmap_load()

Validate memory address translations

devmap_unload()

Invalidate memory address translations

devmap_do_ctxmgt()

Perform device context switching on a mapping

devmap_set_ctx_timeout()

Set the timeout value for the context management callback

devmap_default_access()

Default driver memory access function

ddi_umem_alloc()

Allocate page-aligned kernel memory

ddi_umem_free()

Free page-aligned kernel memory

ddi_umem_lock()

Lock memory pages

ddi_umem_unlock()

Unlock memory pages

ddi_umem_iosetup()

Setup I/O requests to application memory

devmap_umem_setup()

Export kernel memory to user space

ddi_model_convert_from()

Determine data model type mismatch

Table 37  Deprecated User Application Kernel and Device Access Functions
Deprecated Function
Replacement
ddi_mapdev()
devmap_setup()
ddi_mapdev_intercept()
devmap_load()
ddi_mapdev_nointercept()
devmap_unload()
ddi_mapdev_set_device_acc_attr()
devmap()
ddi_segmap()
devmap()
ddi_segmap_setup()
devmap_setup()
hat_getkpfnum()
devmap()
ddi_mmap_get_model()
devmap()