]> git.proxmox.com Git - mirror_qemu.git/commit
ppc/xive: add support for the END Event State Buffers
authorCédric Le Goater <clg@kaod.org>
Sun, 9 Dec 2018 19:45:52 +0000 (20:45 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 20 Dec 2018 22:29:12 +0000 (09:29 +1100)
commit002686be42784fdce4c1c8ecd1987ddf740cab77
treefa52958e43ef1d3f80dc583822bf0bbbcc71fa67
parentfcfbc18d00b10335310c9665edd6e04f2d152be8
ppc/xive: add support for the END Event State Buffers

The Event Notification Descriptor (END) XIVE structure also contains
two Event State Buffers providing further coalescing of interrupts,
one for the notification event (ESn) and one for the escalation events
(ESe). A MMIO page is assigned for each to control the EOI through
loads only. Stores are not allowed.

The END ESBs are modeled through an object resembling the 'XiveSource'
It is stateless as the END state bits are backed into the XiveEND
structure under the XiveRouter and the MMIO accesses follow the same
rules as for the XiveSource ESBs.

END ESBs are not supported by the Linux drivers neither on OPAL nor on
sPAPR. Nevetherless, it provides a mean to study the question in the
future and validates a bit more the XIVE model.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
[dwg: Fold in a later fix for field access]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/intc/xive.c
include/hw/ppc/xive.h