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

退出打印视图

更新时间: 2014 年 9 月
 
 

IOV_VALIDATE_PARAM Ioctl

调用 IOV_VALIDATE_PARAM() 的驱动程序的常规控制流程如下所述:

  1. arg 参数发送到 pci_param_get_ioctl() 接口并获取指向 pci_param_t 结构的指针。

  2. param 验证失败时,向 pv_reason 数组写入一个解释性的字符串。

  3. 依次调用 pci_get_plist() 接口和 pci_plist_lookup() 接口来获取设备参数。

  4. 在 PF plist 中查找 vfs 名称-值对以获取要针对此配置的验证而配置的 VF 的数量。驱动程序应使用长度至少为 16 位的整数数据类型查找 vfs 名称-值对。使用 pciv_plist_getvf() 接口获取 VF 设备的 plist 参数。

  5. 在不实际将参数应用于设备的情况下对参数进行验证。

  6. 在找到有效配置时返回 0。


Caution

注意  - 上述过程中验证的参数与设备的当前配置毫不相关。它们需要单独进行验证(假定它们可以进一步配置)。如果不单独进行验证,驱动程序应返回 DDI_EINVAL 来指示配置不正确。当发现了无效配置时,驱动程序还应在 iov_param_validate 结构的 pv_reason 字段中提供一个解释性字符串。此字符串会将配置失败的原因告知管理员。