qemu-devel
[Top][All Lists]
Advanced

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

[PATCH v5 00/18] pci hotplug tracking


From: Vladimir Sementsov-Ogievskiy
Subject: [PATCH v5 00/18] pci hotplug tracking
Date: Thu, 16 Feb 2023 21:03:38 +0300

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]