From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sheng Yang Subject: [PATCH 2/4] KVM: x86: Replace irq_requested with guest_intr_type Date: Wed, 8 Oct 2008 16:38:11 +0800 Message-ID: <1223455093-304-3-git-send-email-sheng@linux.intel.com> References: <1223455093-304-1-git-send-email-sheng@linux.intel.com> Cc: kvm@vger.kernel.org, Sheng Yang To: Avi Kivity Return-path: Received: from mga01.intel.com ([192.55.52.88]:4964 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753352AbYJHIjk (ORCPT ); Wed, 8 Oct 2008 04:39:40 -0400 In-Reply-To: <1223455093-304-1-git-send-email-sheng@linux.intel.com> Sender: kvm-owner@vger.kernel.org List-ID: Signed-off-by: Sheng Yang --- arch/x86/kvm/x86.c | 8 ++++---- include/linux/kvm_host.h | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 57825a1..19688b3 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -171,7 +171,7 @@ static void kvm_free_assigned_device(struct kvm *kvm, struct kvm_assigned_dev_kernel *assigned_dev) { - if (irqchip_in_kernel(kvm) && assigned_dev->irq_requested) + if (irqchip_in_kernel(kvm) && assigned_dev->guest_intr_type) free_irq(assigned_dev->host_irq, (void *)assigned_dev); kvm_unregister_irq_ack_notifier(kvm, &assigned_dev->ack_notifier); @@ -210,7 +210,7 @@ static int assigned_device_update_irq(struct kvm *kvm, struct kvm_assigned_dev_kernel *assigned_dev, struct kvm_assigned_irq *assigned_irq) { - if (assigned_dev->irq_requested) { + if (assigned_dev->guest_intr_type == KVM_ASSIGNED_DEV_INTR) { assigned_dev->guest_irq = assigned_irq->guest_irq; assigned_dev->ack_notifier.gsi = assigned_irq->guest_irq; return 0; @@ -235,7 +235,7 @@ static int assigned_device_update_irq(struct kvm *kvm, 0, "kvm_assigned_device", (void *)assigned_dev)) return -EIO; } - assigned_dev->irq_requested = true; + assigned_dev->guest_intr_type = KVM_ASSIGNED_DEV_INTR; return 0; } @@ -256,7 +256,7 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm, return -EINVAL; } - if (!match->irq_requested) { + if (!match->guest_intr_type) { INIT_WORK(&match->interrupt_work, kvm_assigned_dev_interrupt_work_handler); if (irqchip_in_kernel(kvm)) { diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 6252802..e24280b 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -301,7 +301,8 @@ struct kvm_assigned_dev_kernel { int host_devfn; int host_irq; int guest_irq; - int irq_requested; +#define KVM_ASSIGNED_DEV_INTR 1 + int guest_intr_type; struct pci_dev *dev; struct kvm *kvm; }; -- 1.5.4.5