KVM: PPC: Book3S: Add API for in-kernel XICS emulation
authorPaul Mackerras <paulus@samba.org>
Sat, 27 Apr 2013 00:28:37 +0000 (00:28 +0000)
committerAlexander Graf <agraf@suse.de>
Thu, 2 May 2013 13:28:36 +0000 (15:28 +0200)
commit5975a2e0950291a6bfe9fd5880e7952ff87764be
treea27a2f6645a74ad756ac4a3eba21e1086beab25d
parentd133b40f2cdd527af01090ffd6a041485d1a29b4
KVM: PPC: Book3S: Add API for in-kernel XICS emulation

This adds the API for userspace to instantiate an XICS device in a VM
and connect VCPUs to it.  The API consists of a new device type for
the KVM_CREATE_DEVICE ioctl, a new capability KVM_CAP_IRQ_XICS, which
functions similarly to KVM_CAP_IRQ_MPIC, and the KVM_IRQ_LINE ioctl,
which is used to assert and deassert interrupt inputs of the XICS.

The XICS device has one attribute group, KVM_DEV_XICS_GRP_SOURCES.
Each attribute within this group corresponds to the state of one
interrupt source.  The attribute number is the same as the interrupt
source number.

This does not support irq routing or irqfd yet.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
Documentation/virtual/kvm/api.txt
Documentation/virtual/kvm/devices/xics.txt [new file with mode: 0644]
arch/powerpc/include/asm/kvm_ppc.h
arch/powerpc/include/uapi/asm/kvm.h
arch/powerpc/kvm/book3s_xics.c
arch/powerpc/kvm/book3s_xics.h
arch/powerpc/kvm/irq.h
arch/powerpc/kvm/powerpc.c
include/linux/kvm_host.h
include/uapi/linux/kvm.h
virt/kvm/kvm_main.c