]> git.proxmox.com Git - qemu.git/commit
shpc: standard hot plug controller
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 12 Feb 2012 12:12:21 +0000 (14:12 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 15 Mar 2012 22:41:15 +0000 (00:41 +0200)
commit1dc324d20f7404fd6a416f16c2cb9a4ec50a4dd7
tree0b9d9ae9c1786fe53041c4035167556546ad4def
parent8a3d80faf7794820da5e9666e4adf6a7d4f80f7b
shpc: standard hot plug controller

This adds support for SHPC interface, as defined by PCI Standard
Hot-Plug Controller and Subsystem Specification, Rev 1.0
http://www.pcisig.com/specifications/conventional/pci_hot_plug/SHPC_10

Only SHPC intergrated with a PCI-to-PCI bridge is supported,
SHPC integrated with a host bridge would need more work.

All main SHPC features are supported:
- MRL sensor
- Attention button
- Attention indicator
- Power indicator

Wake on hotplug and serr generation are stubbed out but unused
as we don't have interfaces to generate these events ATM.

One issue that isn't completely resolved is that qemu currently
expects an "eject" interface, which SHPC does not provide: it merely
removes the power to device and it's up to the user to remove the device
from slot. This patch works around that by ejecting the device
when power is removed and power LED goes off.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Makefile.objs
hw/pci.h
hw/shpc.c [new file with mode: 0644]
hw/shpc.h [new file with mode: 0644]
qemu-common.h