On 02/08/2017 19:26, Michael S. Tsirkin wrote:
On Wed, Aug 02, 2017 at 06:36:29PM +0300, Marcel Apfelbaum wrote:
> Can dmi-pci support shpc? why doesn't it? For compatibility?
I don't know why, but the fact that it doesn't is the reason libvirt settled on auto-creating a dmi-pci bridge and a pci-pci bridge under that for Q35. The reasoning was (IIRC Laine's words correctly) that the dmi-pci bridge cannot receive hotplugged devices, while the pci-pci bridge cannot be connected to the root complex. So both were needed.
Thanks Laszlo
OK. Is it true that dmi-pci + pci-pci under it will allow hotplug on Q35 if we just flip the bit in _OSC?
Marcel, what say you?... :)
Good news, works with: -device i82801b11-bridge,id=b1 -device pci-bridge,id=b2,bus=b1,chassis_nr=1,msi=off
And presumably it works for modern windows? OK, so it looks like patch 1 is merely a bugfix, I'll merge it for 2.10.
Tested with Win10, I think is OK to merge if for 2.10.
Notice bridge's msi=off until the following kernel bug will be merged: https://www.spinics.net/lists/linux-pci/msg63052.html
Does libvirt support msi=off as a work-around?
Adding Laine, maybe he has the answer.
Thanks, Marcel
Thanks, Marcel