Hi all! v5: - don't deprecate IDs and return to ID & QOM scheme - split complicated HOTPLUG_STATE patch into several ones
---- The main patches are the last four ones: - introduce HOTPLUG_STATE event, that inform when hotplug controller change it's state, especially indicator leds - query-hotplug command, that provides same information as event on demand - DEVICE_ON event - a kind of counterpart for DEVICE_DELETED, signals when device is finally accepted by guest, power indicator is on and so on. That's all for smarter handling of SHPC and PCIe-native hotplug. If you want to test new events, don't forget -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off flag, to disable ACPI hotplug default. Vladimir Sementsov-Ogievskiy (18): pci/shpc: set attention led to OFF on reset pci/shpc: change shpc_get_status() return type to uint8_t pci/shpc: shpc_slot_command(): handle PWRONLY -> ENABLED transition pci/shpc: more generic handle hot-unplug in shpc_slot_command() pci/shpc: pass PCIDevice pointer to shpc_slot_command() pci/shpc: refactor shpc_device_plug_common() pcie: pcie_cap_slot_write_config(): use correct macro pcie_regs: drop duplicated indicator value macros pcie: drop unused PCIExpressIndicator pcie: pcie_cap_slot_enable_power() use correct helper pcie: introduce pcie_sltctl_powered_off() helper pcie: set power indicator to off on reset by default pci: introduce pci_find_the_only_child() qapi/qdev.json: unite DEVICE_* event data into single structure qapi: add HOTPLUG_STATE infrastructure shpc: implement HOTPLUG_STATE event and query-hotplug pcie: implement HOTPLUG_STATE event and query-hotplug qapi: introduce DEVICE_ON event qapi/qdev.json | 224 ++++++++++++++++++++++++++++++-- include/hw/hotplug.h | 12 ++ include/hw/pci/pci.h | 1 + include/hw/pci/pci_bridge.h | 2 + include/hw/pci/pcie.h | 10 +- include/hw/pci/pcie_regs.h | 14 -- include/hw/pci/shpc.h | 2 + include/monitor/qdev.h | 7 + hw/core/hotplug.c | 13 ++ hw/pci-bridge/pci_bridge_dev.c | 14 ++ hw/pci-bridge/pcie_pci_bridge.c | 1 + hw/pci/pci.c | 33 +++++ hw/pci/pcie.c | 122 +++++++++++++++-- hw/pci/pcie_port.c | 1 + hw/pci/shpc.c | 214 ++++++++++++++++++++++-------- softmmu/qdev-monitor.c | 67 ++++++++++ 16 files changed, 639 insertions(+), 98 deletions(-) -- 2.34.1