qemu-e2k/hw/ppc
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
..
e500-ccsr.h
e500.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
e500.h ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
e500plat.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mac_newworld.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mac_oldworld.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mac.h PPC: dbdma: Wait for DMA until we have data 2013-07-11 18:51:25 +02:00
Makefile.objs pseries: move interrupt controllers to hw/intc/ 2013-07-11 18:51:23 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
ppc4xx_devs.c
ppc4xx_pci.c
ppc405_boards.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ppc405_uc.c ppc405_uc: Disable debug output 2013-09-02 10:06:41 +02:00
ppc405.h
ppc440_bamboo.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
ppc_booke.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
ppc.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
ppce500_spin.c ppce500_spin: QOM cast cleanup 2013-07-29 21:07:00 +02:00
prep.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
spapr_events.c
spapr_hcall.c spapr-rtas: fix h_rtas parameters reading 2013-10-25 23:25:46 +02:00
spapr_iommu.c PPC: spapr: iommu: rework traces 2013-09-02 10:06:43 +02:00
spapr_pci.c spapr-pci: rework MSI/MSIX 2013-09-02 10:06:42 +02:00
spapr_rtas.c spapr: add "stop-self" RTAS call required to support hot CPU unplug 2013-09-02 10:06:42 +02:00
spapr_vio.c spapr: Rename 'dprintf' to 'DPRINTF' 2013-07-29 19:56:46 -05:00
spapr.c xics-kvm: Support for in-kernel XICS interrupt controller 2013-10-25 23:25:47 +02:00
virtex_ml507.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00