编写设备驱动程序

用户应用程序内核和设备访问函数

用户应用程序内核和设备访问函数包括:

ddi_dev_nregs()

返回设备的寄存器集数

ddi_dev_regsize()

返回设备寄存器的大小

ddi_devmap_segmap()devmap_setup()

使用 devmap 框架设置用户与设备内存之间的映射

devmap_devmem_setup()

将设备内存导出到用户空间

devmap_load()

验证内存地址转换

devmap_unload()

使内存地址转换无效

devmap_do_ctxmgt()

对映射执行设备上下文切换

devmap_set_ctx_timeout()

为上下文管理回叫设置超时值

devmap_default_access()

缺省驱动程序内存访问函数

ddi_umem_alloc()

分配按页对齐的内核内存

ddi_umem_free()

释放按页对齐的内核内存

ddi_umem_lock()

锁定内存页

ddi_umem_unlock()

解除锁定内存页

ddi_umem_iosetup()

设置对应用程序内存的 I/O 请求

devmap_umem_setup()

将内核内存导出到用户空间

ddi_model_convert_from()

确定数据模型类型是否不匹配

表 B–8 过时的用户应用程序内核和设备访问函数

过时的函数 

替代函数 

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()