编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

设备实例和实例编号

系统会为每个设备指定一个实例编号。驱动程序可能无法可靠地预测指定给某个特定设备的实例编号值。驱动程序应通过调用 ddi_get_instance(9F) 来检索已指定的特定实例编号。

实例编号代表了系统中的设备。内核会为特定驱动程序的每个 dev_info(即设备树中的每个节点)指定一个实例编号。此外,实例编号可提供一种便捷的、为特定于某个物理设备的数据建立索引的机制。实例编号的最常见用法是 ddi_get_soft_state(9F),也就是使用实例编号检索特定物理设备的软状态数据。


Caution

注意  - 对于伪设备(即伪结点的子结点),其实例编号是采用 instance 属性在 driver.conf(4) 文件中定义的。如果 driver.conf 文件不包含 instance 属性,则未定义此行为。对于硬件设备节点,当 OS 首次发现此类设备时,系统会为其指定实例编号。实例编号在系统重新引导以及 OS 升级期间保持不变。