On Tue, Feb 14, 2012 at 12:49:08PM +0000, Paul Brook wrote:
In a nutshell, I don't know what a SHPC is (nor OSHP), so I'm looking for an additional Ack.
No problem, I'll get an Ack :) Meanwhile - here's a summary, as far as I understand it.
Originally PCI SIG only defined the electrical and mechanical requirements from hotplug, no standard software interface. So it needed ACPI to drive device-specific registers to actually do hotplug. At some point PCISIG defined standard interfaces for PCI hotplug. There are two of them: standard hot plug controller (SHPC) for PCI and PCIE hotplug for Express.
Now an OS can have a standard driver and use it to activate hotplug functionality. This is OS hotplug (OSHP).
So presumably this will work on targets that don't have ACPI? Assuming a competent guest OS of course. Have you tested this?
This being the qemu side of things? I run Linux and verified that it calls OSHP and afterwards, runs the native driver and handles hotplug/unplug without invoking ACPI at all.
It seems that at least the SHPC driver in linux doesn't work if you don't have an acpi table with the OSHP method - not many people run with acpi=off nowdays, so it's probably just a bug. I'll check how hard it is to fix this.