> I checked the guest dmesg and found that failed load shpc driver. > [ 0.966668] shpchp 0000:00:05.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PCI0.S28_) > [ 0.968238] shpchp 0000:00:05.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PCI0) > [ 0.969160] shpchp 0000:00:05.0: Cannot get control of SHPC hotplug > [ 0.969876] shpchp 0000:00:06.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PCI0.S30_) > [ 0.971454] shpchp 0000:00:06.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PCI0) > [ 0.972376] shpchp 0000:00:06.0: Cannot get control of SHPC hotplug > [ 0.973119] shpchp 0000:80:00.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PC80) > [ 0.974674] shpchp 0000:80:00.0: Cannot get control of SHPC hotplug > [ 0.979422] shpchp 0000:81:01.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PC80) > [ 0.980948] shpchp 0000:81:01.0: Cannot get control of SHPC hotplug > [ 0.981685] shpchp 0000:60:00.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PC60) > [ 0.994623] shpchp 0000:60:00.0: Cannot get control of SHPC hotplug > [ 0.995349] shpchp 0000:61:01.0: Requesting control of SHPC hotplug via > OSHP (\_SB_.PC60) > [ 0.996891] shpchp 0000:61:01.0: Cannot get control of SHPC hotplug > [ 0.997626] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4 > Read the shpc driver code, I found that before shpc_init it need check the > shpc capability of bridge(shpc_capable) and > get hotplug control from firmware(acpi_get_hp_hw_control_from_firmware) in > shpc_probe. > Howerver it return fail in acpi_get_hp_hw_control_from_firmware. I dump the > acpid table, not found OSC and OSHP > method in dsdt.dsl. > In the QEMU build_dsdt, not found build osc method in i440fx. > Putting aside this pxb scenario, I suspect that after disable > acpi-pci-hotplug-with-bridge-support, > hot-plug into the PCI bridge via SHPC can be successful in i440fx ?
After adding oshp method in build_dsdt, the SHPC driver load sucess and hotplug device sucess. Maybe we need a patch fix it ?