From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH 2/4] kvm: Introduce kvm_has_intx_set_mask Date: Mon, 27 Aug 2012 08:28:39 +0200 Message-ID: <16d9657031c41111501ada49f8d68fe1deed557f.1346048917.git.jan.kiszka@web.de> References: Cc: Alex Williamson , qemu-devel@nongnu.org, kvm@vger.kernel.org, "Michael S. Tsirkin" To: Avi Kivity , Marcelo Tosatti Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org From: Jan Kiszka Will be used by PCI device assignment code. Signed-off-by: Jan Kiszka --- kvm-all.c | 8 ++++++++ kvm.h | 1 + 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kvm-all.c b/kvm-all.c index fd9d9b4..84d4f7f 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -88,6 +88,7 @@ struct KVMState int pit_state2; int xsave, xcrs; int many_ioeventfds; + int intx_set_mask; /* The man page (and posix) say ioctl numbers are signed int, but * they're not. Linux, glibc and *BSD all treat ioctl numbers as * unsigned, and treating them as signed here can break things */ @@ -1387,6 +1388,8 @@ int kvm_init(void) s->irq_set_ioctl = KVM_IRQ_LINE_STATUS; } + s->intx_set_mask = kvm_check_extension(s, KVM_CAP_PCI_2_3); + ret = kvm_arch_init(s); if (ret < 0) { goto err; @@ -1739,6 +1742,11 @@ int kvm_has_gsi_routing(void) #endif } +int kvm_has_intx_set_mask(void) +{ + return kvm_state->intx_set_mask; +} + void *kvm_vmalloc(ram_addr_t size) { #ifdef TARGET_S390X diff --git a/kvm.h b/kvm.h index 5cefe3a..dea2998 100644 --- a/kvm.h +++ b/kvm.h @@ -117,6 +117,7 @@ int kvm_has_xcrs(void); int kvm_has_pit_state2(void); int kvm_has_many_ioeventfds(void); int kvm_has_gsi_routing(void); +int kvm_has_intx_set_mask(void); #ifdef NEED_CPU_H int kvm_init_vcpu(CPUArchState *env); -- 1.7.3.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5soo-0000NL-IY for qemu-devel@nongnu.org; Mon, 27 Aug 2012 02:29:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T5soi-00082l-Iw for qemu-devel@nongnu.org; Mon, 27 Aug 2012 02:29:02 -0400 Received: from mout.web.de ([212.227.17.12]:65340) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5soi-00082e-9b for qemu-devel@nongnu.org; Mon, 27 Aug 2012 02:28:56 -0400 From: Jan Kiszka Date: Mon, 27 Aug 2012 08:28:39 +0200 Message-Id: <16d9657031c41111501ada49f8d68fe1deed557f.1346048917.git.jan.kiszka@web.de> In-Reply-To: References: In-Reply-To: References: Subject: [Qemu-devel] [PATCH 2/4] kvm: Introduce kvm_has_intx_set_mask List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , Marcelo Tosatti Cc: Alex Williamson , qemu-devel@nongnu.org, kvm@vger.kernel.org, "Michael S. Tsirkin" From: Jan Kiszka Will be used by PCI device assignment code. Signed-off-by: Jan Kiszka --- kvm-all.c | 8 ++++++++ kvm.h | 1 + 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kvm-all.c b/kvm-all.c index fd9d9b4..84d4f7f 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -88,6 +88,7 @@ struct KVMState int pit_state2; int xsave, xcrs; int many_ioeventfds; + int intx_set_mask; /* The man page (and posix) say ioctl numbers are signed int, but * they're not. Linux, glibc and *BSD all treat ioctl numbers as * unsigned, and treating them as signed here can break things */ @@ -1387,6 +1388,8 @@ int kvm_init(void) s->irq_set_ioctl = KVM_IRQ_LINE_STATUS; } + s->intx_set_mask = kvm_check_extension(s, KVM_CAP_PCI_2_3); + ret = kvm_arch_init(s); if (ret < 0) { goto err; @@ -1739,6 +1742,11 @@ int kvm_has_gsi_routing(void) #endif } +int kvm_has_intx_set_mask(void) +{ + return kvm_state->intx_set_mask; +} + void *kvm_vmalloc(ram_addr_t size) { #ifdef TARGET_S390X diff --git a/kvm.h b/kvm.h index 5cefe3a..dea2998 100644 --- a/kvm.h +++ b/kvm.h @@ -117,6 +117,7 @@ int kvm_has_xcrs(void); int kvm_has_pit_state2(void); int kvm_has_many_ioeventfds(void); int kvm_has_gsi_routing(void); +int kvm_has_intx_set_mask(void); #ifdef NEED_CPU_H int kvm_init_vcpu(CPUArchState *env); -- 1.7.3.4