对于某些设备(如帧缓存器),假设直接访问设备内存的应用程序比字节流 I/O 更高效。应用程序使用 mmap(2) 系统调用可将设备内存映射到其地址空间。要支持内存映射,设备驱动程序需要实现 segmap(9E) 和 devmap(9E) 入口点。有关 devmap(9E) 的信息,请参见Chapter 10, Mapping Device and Kernel Memory。有关 segmap(9E) 的信息,请参见Chapter 15, Drivers for Character Devices。
定义 devmap(9E) 入口点的驱动程序通常不会定义 read(9E) 和 write(9E) 入口点,因为应用程序在调用 mmap(2) 之后会直接对设备执行 I/O 操作。
下表列出了使用 devmap 框架执行内存映射的字符设备驱动程序可以使用的其他入口点。有关其他入口点的信息,请参见Entry Points Common to All Drivers和Entry Points for Character Device Drivers。
|