// pcivirt.h
// CTL_CODE(0x0022, 0x818, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_SRIOV_MITIGATED_RANGE_UPDATE 0x00226060
View the official Windows Driver Kit DDI referenceNo description available.
The IOCTL_SRIOV_MITIGATED_RANGE_UPDATE request indicates that the virtualization stack wants to update to the mitigation ranges.
A pointer to a SRIOV_MITIGATED_RANGE_UPDATE_INPUT structure.
Size of the SRIOV_MITIGATED_RANGE_UPDATE_INPUT structure.
A buffer that contains an SRIOV_MITIGATED_RANGE_UPDATE_OUTPUT-type value filled by the physical function (PF) driver when it completes the request.
A pointer to a variable to contain the number of bytes written to the output buffer when the request is completed.
Not used with this operation; set this value to NULL.
Not used with this operation; set this value to zero.
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Otherwise, Status to the appropriate error condition as a NTSTATUS code.
This IOCTL request is sent by the virtualization stack to the PCI Express SR-IOV Physical Function (PF) driver that exposes MITIGABLE_DEVICE_INTERFACE.
The stack uses an I/O MMU to differentiate traffic coming from the various interfaces that the device exposes, enforcing policy about which regions of memory a device can access and which interrupts it can generate. When that range of memory is updated, the stack sends this request.
The physical function (PF driver) keeps the IOCTL_SRIOV_MITIGATED_RANGE_UPDATE request in its queue until the request is either cancelled by the virtualization stack or the PF driver wants to send a request to the virtual function (VF) driver to update to the mitigation ranges for a particular VF. When the VF completes the request, the PF completes the IOCTL_SRIOV_MITIGATED_RANGE_UPDATE request. Upon completion, the virtualization stack reinitializes the mitigation maps by sending IOCTL_SRIOV_QUERY_MITIGATED_RANGE_COUNT and IOCTL_SRIOV_QUERY_MITIGATED_RANGES requests. The stack may additionally call any user mode device simulation for additional ranges to mitigate. The IOCTL_SRIOV_MITIGATED_RANGE_UPDATE request is sent for each active virtual function.