From: Alexander Graf <agraf@suse.de>
To: kvm-ppc@vger.kernel.org
Cc: "kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>,
Scott Wood <scottwood@freescale.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
Gleb Natapov <gleb@redhat.com>
Subject: [PATCH 4/7] KVM: Move irq routing to generic code
Date: Tue, 16 Apr 2013 17:26:12 +0000 [thread overview]
Message-ID: <1366133175-23986-5-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1366133175-23986-1-git-send-email-agraf@suse.de>
The IRQ routing set ioctl lives in the hacky device assignment code inside
of KVM today. This is definitely the wrong place for it. Move it to the much
more natural kvm_main.c.
Signed-off-by: Alexander Graf <agraf@suse.de>
---
virt/kvm/assigned-dev.c | 30 ------------------------------
virt/kvm/kvm_main.c | 30 ++++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c
index f4c7f59..8db4370 100644
--- a/virt/kvm/assigned-dev.c
+++ b/virt/kvm/assigned-dev.c
@@ -983,36 +983,6 @@ long kvm_vm_ioctl_assigned_device(struct kvm *kvm, unsigned ioctl,
goto out;
break;
}
-#ifdef KVM_CAP_IRQ_ROUTING
- case KVM_SET_GSI_ROUTING: {
- struct kvm_irq_routing routing;
- struct kvm_irq_routing __user *urouting;
- struct kvm_irq_routing_entry *entries;
-
- r = -EFAULT;
- if (copy_from_user(&routing, argp, sizeof(routing)))
- goto out;
- r = -EINVAL;
- if (routing.nr >= KVM_MAX_IRQ_ROUTES)
- goto out;
- if (routing.flags)
- goto out;
- r = -ENOMEM;
- entries = vmalloc(routing.nr * sizeof(*entries));
- if (!entries)
- goto out;
- r = -EFAULT;
- urouting = argp;
- if (copy_from_user(entries, urouting->entries,
- routing.nr * sizeof(*entries)))
- goto out_free_irq_routing;
- r = kvm_set_irq_routing(kvm, entries, routing.nr,
- routing.flags);
- out_free_irq_routing:
- vfree(entries);
- break;
- }
-#endif /* KVM_CAP_IRQ_ROUTING */
#ifdef __KVM_HAVE_MSIX
case KVM_ASSIGN_SET_MSIX_NR: {
struct kvm_assigned_msix_nr entry_nr;
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index ac3182e..6a71ee3 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2273,6 +2273,36 @@ static long kvm_vm_ioctl(struct file *filp,
break;
}
#endif
+#ifdef KVM_CAP_IRQ_ROUTING
+ case KVM_SET_GSI_ROUTING: {
+ struct kvm_irq_routing routing;
+ struct kvm_irq_routing __user *urouting;
+ struct kvm_irq_routing_entry *entries;
+
+ r = -EFAULT;
+ if (copy_from_user(&routing, argp, sizeof(routing)))
+ goto out;
+ r = -EINVAL;
+ if (routing.nr >= KVM_MAX_IRQ_ROUTES)
+ goto out;
+ if (routing.flags)
+ goto out;
+ r = -ENOMEM;
+ entries = vmalloc(routing.nr * sizeof(*entries));
+ if (!entries)
+ goto out;
+ r = -EFAULT;
+ urouting = argp;
+ if (copy_from_user(entries, urouting->entries,
+ routing.nr * sizeof(*entries)))
+ goto out_free_irq_routing;
+ r = kvm_set_irq_routing(kvm, entries, routing.nr,
+ routing.flags);
+ out_free_irq_routing:
+ vfree(entries);
+ break;
+ }
+#endif /* KVM_CAP_IRQ_ROUTING */
default:
r = kvm_arch_vm_ioctl(filp, ioctl, arg);
if (r = -ENOTTY)
--
1.6.0.2
next prev parent reply other threads:[~2013-04-16 17:26 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 17:26 [PATCH 0/7] KVM: irqfd generalization prepare patch set Alexander Graf
2013-04-16 17:26 ` [PATCH 1/7] KVM: Add KVM_IRQCHIP_NUM_PINS in addition to KVM_IOAPIC_NUM_PINS Alexander Graf
2013-04-17 11:51 ` Paolo Bonzini
2013-04-16 17:26 ` [PATCH 2/7] KVM: Introduce __KVM_HAVE_IRQCHIP Alexander Graf
2013-04-17 11:49 ` Paolo Bonzini
2013-04-17 11:53 ` Alexander Graf
2013-04-17 11:54 ` Paolo Bonzini
2013-04-17 11:59 ` Alexander Graf
2013-04-17 12:06 ` Paolo Bonzini
2013-04-17 12:10 ` Alexander Graf
2013-04-17 12:15 ` Paolo Bonzini
2013-04-17 12:16 ` Alexander Graf
2013-04-24 9:55 ` Gleb Natapov
2013-04-16 17:26 ` [PATCH 3/7] KVM: Remove kvm_get_intr_delivery_bitmask Alexander Graf
2013-04-16 17:26 ` Alexander Graf [this message]
2013-04-16 17:26 ` [PATCH 5/7] KVM: Extract generic irqchip logic into irqchip.c Alexander Graf
2013-04-17 11:50 ` Paolo Bonzini
2013-04-17 11:54 ` Alexander Graf
2013-04-17 12:05 ` Paolo Bonzini
2013-04-17 12:06 ` Alexander Graf
2013-04-16 17:26 ` [PATCH 6/7] KVM: Move irq routing setup to irqchip.c Alexander Graf
2013-04-16 17:26 ` [PATCH 7/7] KVM: Move irqfd resample cap handling to generic code Alexander Graf
2013-04-21 10:51 ` [PATCH 0/7] KVM: irqfd generalization prepare patch set Michael S. Tsirkin
2013-04-25 9:39 ` Alexander Graf
2013-04-24 10:20 ` Gleb Natapov
2013-04-25 7:28 ` Gleb Natapov
2013-04-25 9:35 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1366133175-23986-5-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=gleb@redhat.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=scottwood@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox