qemu-irix/hw/intc
David Gibson 11ad93f681 xics-kvm: Support for in-kernel XICS interrupt controller
Recent (host) kernels support emulating the PAPR defined "XICS" interrupt
controller system within KVM.  This patch allows qemu to initialize and
configure the in-kernel XICS, and keep its state in sync with qemu's XICS
state as necessary.

This should give considerable performance improvements.  e.g. on a simple
IPI ping-pong test between hardware threads, using qemu XICS gives us
around 5,000 irqs/second, whereas the in-kernel XICS gives us around
70,000 irqs/s on the same hardware configuration.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[Mike Qiu <qiudayu@linux.vnet.ibm.com>: fixed mistype which caused ics_set_kvm_state() to fail]
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-25 23:25:47 +02:00
..
Makefile.objs xics-kvm: Support for in-kernel XICS interrupt controller 2013-10-25 23:25:47 +02:00
apic.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
apic_common.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
arm_gic.c arm_gic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
arm_gic_common.c arm_gic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
arm_gic_kvm.c
armv7m_nvic.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
etraxfs_pic.c etraxfs_pic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
exynos4210_combiner.c exynos4210_combiner: QOM cast cleanup 2013-07-29 21:06:57 +02:00
exynos4210_gic.c exynos4210_gic: QOM cast cleanup for exynos4210.irq_gate 2013-07-29 21:06:57 +02:00
gic_internal.h arm_gic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
grlib_irqmp.c grlib_irqmp: QOM cast cleanup 2013-07-29 21:06:57 +02:00
heathrow_pic.c
i8259.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
i8259_common.c
imx_avic.c
ioapic.c ioapic: QOM cast cleanup 2013-07-29 21:07:02 +02:00
ioapic_common.c
lm32_pic.c lm32_pic: QOM cast cleanup 2013-07-29 21:06:57 +02:00
omap_intc.c omap_intc: QOM'ify omap-intc and omap2-intc 2013-07-29 21:06:58 +02:00
openpic.c
openpic_kvm.c
pl190.c pl190: QOM cast cleanup 2013-07-29 21:06:58 +02:00
puv3_intc.c puv3_intc: QOM cast cleanup 2013-07-29 21:06:58 +02:00
realview_gic.c realview_gic: QOM cast cleanup 2013-07-29 21:06:58 +02:00
sh_intc.c
slavio_intctl.c slavio_intctl: QOM cast cleanup 2013-07-29 21:06:58 +02:00
xics.c xics: add cpu_setup callback 2013-10-25 23:25:47 +02:00
xics_kvm.c xics-kvm: Support for in-kernel XICS interrupt controller 2013-10-25 23:25:47 +02:00
xilinx_intc.c xilinx_intc: QOM cast cleanup 2013-07-29 21:06:58 +02:00