[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Inconsistent use of libxl__device_pci_reset() when adding/removing all functions of a device

I tried to use vga passthrough with an AMD card and ran into the issues with dom0 crash on domU reboot. My intention is to debug the issue and I have started to read up on the code for pci passthrough. The following observations may not be an error but perhaps someone could shed some light over the design intentions.

My first impression was that libxl__device_pci_reset() is a function level reset function. It is called each time a single function of a device is added or removed. A device reset would break other domU:s if other functions of the device are passed through to these domU:s.

The strange thing is that there is only a single libxl__device_pci_reset() call when pcidev->vfunc_mask is set to LIBXL_PCI_FUNC_ALL. I'm getting the impression that the function is assumed to be a device reset function.

Is the attempt to reset a function, when all other functions belongs to pciback, detected and replaced by a device reset?

Best Regards,
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.