qemu/hw
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
..
9pfs hw/9pfs: Fix errno value for xattr functions 2013-10-05 13:05:28 +04:00
acpi pc,pci,virtio fixes and cleanups 2013-09-30 17:15:01 -05:00
alpha hw/alpha: Fix compiler warning (integer constant is too large) 2013-10-02 22:55:28 +04:00
arm QOM CPUState refactorings / X86CPU 2013-09-03 12:33:32 -05:00
audio audio: remove CONFIG_MIXEMU configure option 2013-09-24 10:29:34 +02:00
block virtio: Remove unneeded memcpy 2013-10-18 13:02:57 +02:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char sh4: Fix serial line access for Linux kernels later than 3.2 2013-10-02 22:55:28 +04:00
core pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
cpu QOM CPUState refactorings / X86CPU 2013-09-03 12:33:32 -05:00
cris hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
display Merge remote-tracking branch 'bonzini/iommu-for-anthony' into staging 2013-10-18 10:01:49 -07:00
dma qom: Pass available size to object_initialize() 2013-08-30 21:15:44 +02:00
gpio gpio/zaurus: QOM cast cleanup 2013-07-29 21:06:57 +02:00
i2c exynos4210_i2c: QOM cast cleanup 2013-07-29 21:07:02 +02:00
i386 kvmvapic: Prevent reading beyond the end of guest RAM 2013-10-04 13:13:16 +03:00
ide ahci: set ahci mode on reset 2013-10-11 16:49:59 +02:00
input aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
intc xics-kvm: Support for in-kernel XICS interrupt controller 2013-10-25 23:25:47 +02:00
isa i82378: Cleanup implementation 2013-07-31 23:25:41 +02:00
lm32 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
m68k hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
microblaze hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mips mips_malta: support up to 2GiB RAM 2013-09-09 18:42:22 +02:00
misc vfio-pci: Fix endian issues in vfio_pci_size_rom() 2013-10-04 12:50:51 -06:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net net/rtl8139: update network information when macaddr is changed in guest 2013-10-18 13:28:09 +02:00
nvram fw_cfg: the I/O port variant expects little-endian 2013-08-07 12:48:15 -05:00
openrisc pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
pci Makefile.target: CONFIG_NO_* variables removed 2013-10-16 18:21:00 +02:00
pci-bridge i82801b11: Fix i82801b11 PCI host bridge config space 2013-08-12 12:07:12 +03:00
pci-host pc,pci,virtio fixes and cleanups 2013-09-30 17:15:01 -05:00
ppc xics-kvm: Support for in-kernel XICS interrupt controller 2013-10-25 23:25:47 +02:00
s390x s390/eventfacility: allow childs to handle more than 1 event type 2013-09-20 13:55:30 +02:00
scsi scsi: Allocate SCSITargetReq r->buf dynamically [CVE-2013-4344] 2013-10-09 17:24:18 +02:00
sd sd: Avoid access to NULL BlockDriverState 2013-10-17 10:15:18 +02:00
sh4 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
sparc hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer misc: Fix some typos in names and comments 2013-09-01 18:59:24 +04:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
usb pci-ohci: Add missing 'break' in ohci_service_td 2013-10-02 22:55:28 +04:00
virtio pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
watchdog aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
xen qemu/xen: make use of xenstore relative paths 2013-10-10 14:25:52 +00:00
xtensa pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
Makefile.objs virtio: simplify Makefile conditionals 2013-04-19 16:18:11 +02:00