From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YM7Qm-0001b8-05 for qemu-devel@nongnu.org; Thu, 12 Feb 2015 23:00:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YM7Qd-0007uo-Gx for qemu-devel@nongnu.org; Thu, 12 Feb 2015 23:00:39 -0500 Received: from mail-we0-f180.google.com ([74.125.82.180]:49214) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YM7Qd-0007ug-8h for qemu-devel@nongnu.org; Thu, 12 Feb 2015 23:00:31 -0500 Received: by mail-we0-f180.google.com with SMTP id k11so14150860wes.11 for ; Thu, 12 Feb 2015 20:00:30 -0800 (PST) From: Eric Auger Date: Fri, 13 Feb 2015 04:00:18 +0000 Message-Id: <1423800020-10940-2-git-send-email-eric.auger@linaro.org> In-Reply-To: <1423800020-10940-1-git-send-email-eric.auger@linaro.org> References: <1423800020-10940-1-git-send-email-eric.auger@linaro.org> Subject: [Qemu-devel] [RFC 1/3] linux-headers: Update KVM header for KVM-VFIO FORWARD/UNFORWARD List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: eric.auger@st.com, eric.auger@linaro.org, christoffer.dall@linaro.org, qemu-devel@nongnu.org, alex.williamson@redhat.com, peter.maydell@linaro.org, agraf@suse.de, b.reynal@virtualopensystems.com, feng.wu@intel.com Cc: kim.phillips@freescale.com, patches@linaro.org, a.rigo@virtualopensystems.com, afaerber@suse.de, Bharat.Bhushan@freescale.com, a.motakis@virtualopensystems.com, pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu Integrate updated KVM-VFIO API related to forwarded IRQ Update according to header found in http://git.linaro.org/people/eric.auger/linux.git branch irqfd_integ_v9 Signed-off-by: Eric Auger --- v8 -> v9: use new kvm_vfio_dev_irq struct --- linux-headers/linux/kvm.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 12045a1..73b8194 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -647,11 +647,7 @@ struct kvm_ppc_smmu_info { #define KVM_CAP_MP_STATE 14 #define KVM_CAP_COALESCED_MMIO 15 #define KVM_CAP_SYNC_MMU 16 /* Changes to host mmap are reflected in guest */ -#define KVM_CAP_DEVICE_ASSIGNMENT 17 #define KVM_CAP_IOMMU 18 -#ifdef __KVM_HAVE_MSI -#define KVM_CAP_DEVICE_MSI 20 -#endif /* Bug in KVM_SET_USER_MEMORY_REGION fixed: */ #define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21 #define KVM_CAP_USER_NMI 22 @@ -663,10 +659,6 @@ struct kvm_ppc_smmu_info { #endif #define KVM_CAP_IRQ_ROUTING 25 #define KVM_CAP_IRQ_INJECT_STATUS 26 -#define KVM_CAP_DEVICE_DEASSIGNMENT 27 -#ifdef __KVM_HAVE_MSIX -#define KVM_CAP_DEVICE_MSIX 28 -#endif #define KVM_CAP_ASSIGN_DEV_IRQ 29 /* Another bug in KVM_SET_USER_MEMORY_REGION fixed: */ #define KVM_CAP_JOIN_MEMORY_REGIONS_WORKS 30 @@ -946,6 +938,9 @@ struct kvm_device_attr { #define KVM_DEV_VFIO_GROUP 1 #define KVM_DEV_VFIO_GROUP_ADD 1 #define KVM_DEV_VFIO_GROUP_DEL 2 +#define KVM_DEV_VFIO_DEVICE 2 +#define KVM_DEV_VFIO_DEVICE_FORWARD_IRQ 1 +#define KVM_DEV_VFIO_DEVICE_UNFORWARD_IRQ 2 enum kvm_device_type { KVM_DEV_TYPE_FSL_MPIC_20 = 1, @@ -963,6 +958,15 @@ enum kvm_device_type { KVM_DEV_TYPE_MAX, }; +struct kvm_vfio_dev_irq { + __u32 argsz; /* structure length */ + __u32 fd; /* file descriptor of the VFIO device */ + __u32 index; /* VFIO device IRQ index */ + __u32 start; /* start of subindex range */ + __u32 count; /* size of subindex range */ + __u32 gsi[]; /* gsi, ie. virtual IRQ number */ +}; + /* * ioctls for VM fds */ @@ -1107,9 +1111,6 @@ struct kvm_s390_ucas_mapping { #define KVM_X86_SETUP_MCE _IOW(KVMIO, 0x9c, __u64) #define KVM_X86_GET_MCE_CAP_SUPPORTED _IOR(KVMIO, 0x9d, __u64) #define KVM_X86_SET_MCE _IOW(KVMIO, 0x9e, struct kvm_x86_mce) -/* IA64 stack access */ -#define KVM_IA64_VCPU_GET_STACK _IOR(KVMIO, 0x9a, void *) -#define KVM_IA64_VCPU_SET_STACK _IOW(KVMIO, 0x9b, void *) /* Available with KVM_CAP_VCPU_EVENTS */ #define KVM_GET_VCPU_EVENTS _IOR(KVMIO, 0x9f, struct kvm_vcpu_events) #define KVM_SET_VCPU_EVENTS _IOW(KVMIO, 0xa0, struct kvm_vcpu_events) -- 1.8.3.2