spapr_events: add support for dedicated hotplug event source
commitffbb1705a33df8e2fb12b24d96663d63b22eaf8b
authorMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 27 Oct 2016 02:20:26 +0000 (26 21:20 -0500)
committerDavid Gibson <david@gibson.dropbear.id.au>
Fri, 28 Oct 2016 00:17:35 +0000 (28 11:17 +1100)
treed4c0f902ad893816f08ac30c2a58297b16057794
parent9f992cca93de808bccbd02e14ce9200e8f25b8eb
spapr_events: add support for dedicated hotplug event source

Hotplug events were previously delivered using an EPOW interrupt
and were queued by linux guests into a circular buffer. For traditional
EPOW events like shutdown/resets, this isn't an issue, but for hotplug
events there are cases where this buffer can be exhausted, resulting
in the loss of hotplug events, resets, etc.

Newer-style hotplug event are delivered using a dedicated event source.
We enable this in supported guests by adding standard an additional
event source in the guest device-tree via /event-sources, and, if
the guest advertises support for the newer-style hotplug events,
using the corresponding interrupt to signal the available of
hotplug/unplug events.

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
hw/ppc/spapr_events.c
include/hw/ppc/spapr.h
include/hw/ppc/spapr_ovec.h