IOCTL_SRIOV_MITIGATED_RANGE_UPDATE IOCTL (pcivirt.h)

IOCTL_SRIOV_MITIGATED_RANGE_UPDATE 请求指示虚拟化堆栈希望更新到缓解范围。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

指向 SRIOV_MITIGATED_RANGE_UPDATE_INPUT 结构的指针。

输入缓冲区长度

SRIOV_MITIGATED_RANGE_UPDATE_INPUT 结构的大小。

状态块

Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,状态 相应的错误条件作为 NTSTATUS 代码。

言论

此 IOCTL 请求由虚拟化堆栈发送到公开MITIGABLE_DEVICE_INTERFACE的 PCI Express SR-IOV 物理功能(PF)驱动程序。

堆栈使用 I/O MMU 来区分来自设备公开的各种接口的流量,并强制实施设备可以访问的内存区域以及可以生成的中断的策略。 更新该内存范围时,堆栈将发送此请求。

物理函数 (PF 驱动程序)将 IOCTL_SRIOV_MITIGATED_RANGE_UPDATE 请求保留在队列中,直到虚拟化堆栈取消请求,或者 PF 驱动程序希望向虚拟函数 (VF) 驱动程序发送请求,以更新到特定 VF 的缓解范围。 VF 完成请求后,PF 将完成 IOCTL_SRIOV_MITIGATED_RANGE_UPDATE 请求。 完成后,虚拟化堆栈通过发送 IOCTL_SRIOV_QUERY_MITIGATED_RANGE_COUNTIOCTL_SRIOV_QUERY_MITIGATED_RANGES 请求来重新初始化缓解映射。 堆栈还可以调用任何用户模式设备模拟来缓解其他范围。 为每个活动虚拟函数发送 IOCTL_SRIOV_MITIGATED_RANGE_UPDATE 请求。

要求

要求 价值
标头 pcivirt.h
IRQL PASSIVE_LEVEL