qemu/include
Cédric Le Goater 02e3ff548d ppc/xive: introduce a XIVE interrupt source model
The first sub-engine of the overall XIVE architecture is the Interrupt
Virtualization Source Engine (IVSE). An IVSE can be integrated into
another logic, like in a PCI PHB or in the main interrupt controller
to manage IPIs.

Each IVSE instance is associated with an Event State Buffer (ESB) that
contains a two bit state entry for each possible event source. When an
event is signaled to the IVSE, by MMIO or some other means, the
associated interrupt state bits are fetched from the ESB and
modified. Depending on the resulting ESB state, the event is forwarded
to the IVRE sub-engine of the controller doing the routing.

Each supported ESB entry is associated with either a single or a
even/odd pair of pages which provides commands to manage the source:
to EOI, to turn off the source for instance.

On a sPAPR machine, the O/S will obtain the page address of the ESB
entry associated with a source and its characteristic using the
H_INT_GET_SOURCE_INFO hcall. On PowerNV, a similar OPAL call is used.

The xive_source_notify() routine is in charge forwarding the source
event notification to the routing engine. It will be filled later on.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-12-21 09:24:23 +11:00
..
block block: Remove flags parameter from bdrv_reopen_queue() 2018-12-14 11:55:02 +01:00
chardev char: add a QEMU_CHAR_FEATURE_GCONTEXT flag 2018-12-12 09:55:57 +01:00
crypto crypto: support multiple threads accessing one QCryptoBlock 2018-12-12 11:16:49 +00:00
disas target/mips: Add disassembler support for nanoMIPS 2018-10-25 22:13:33 +02:00
exec - Remove retranslation remenents 2018-12-17 13:04:25 +00:00
fpu softfloat: add float{32,64}_is_zero_or_normal 2018-12-17 08:25:25 +00:00
hw ppc/xive: introduce a XIVE interrupt source model 2018-12-21 09:24:23 +11:00
io io: return 0 for EOF in TLS session read after shutdown 2018-11-19 11:16:46 -06:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration vmstate: constify VMStateField 2018-11-27 15:35:15 +01:00
monitor monitor: Remove "x-oob", offer capability "oob" unconditionally 2018-12-12 10:28:27 +01:00
net net: drop too large packet early 2018-12-04 11:06:15 +00:00
qapi qapi: Rewrite string-input-visitor's integer and list parsing 2018-12-13 19:10:06 +01:00
qemu Clean up includes 2018-12-20 10:29:08 +01:00
qom qom: remove unimplemented class_finalize 2018-12-11 15:45:23 -02:00
scsi file-posix: Switch to .bdrv_co_ioctl 2018-12-14 11:52:41 +01:00
standard-headers linux-headers: update 2018-10-12 11:32:18 +02:00
sysemu Clean up includes 2018-12-20 10:29:08 +01:00
ui ui: Convert vnc_display_init(), init_keyboard_layout() to Error 2018-10-19 14:51:34 +02:00
elf.h elf: Define MIPS_ABI_FP_UNKNOWN macro 2018-10-29 15:47:32 +01:00
glib-compat.h glib: enforce the minimum required version and warn about old APIs 2018-06-29 12:22:28 +01:00
qemu-common.h qemu-common.h: update copyright date to 2018 2018-10-16 17:52:06 +02:00
qemu-io.h qemu-io: Let command functions return error code 2018-06-11 16:18:45 +02:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00