From: Gleb Natapov <gleb@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: kvm-ppc@vger.kernel.org,
"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
Scott Wood <scottwood@freescale.com>
Subject: Re: [PATCH 34/42] kvm: destroy emulated devices on VM exit
Date: Sun, 28 Apr 2013 05:43:01 +0000 [thread overview]
Message-ID: <20130428054301.GB30504@redhat.com> (raw)
In-Reply-To: <1367001037-10394-56-git-send-email-agraf@suse.de>
On Fri, Apr 26, 2013 at 08:30:29PM +0200, Alexander Graf wrote:
> From: Scott Wood <scottwood@freescale.com>
>
> The hassle of getting refcounting right was greater than the hassle
> of keeping a list of devices to destroy on VM exit.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> arch/powerpc/kvm/mpic.c | 2 --
> include/linux/kvm_host.h | 3 ++-
> virt/kvm/kvm_main.c | 29 ++++++++++++++++-------------
> 3 files changed, 18 insertions(+), 16 deletions(-)
>
Just fold it into respective patches in the series. There is not point
to introduce ref counting and remove it in the same patch series.
> diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
> index 89fe1d6..795ca0c 100644
> --- a/arch/powerpc/kvm/mpic.c
> +++ b/arch/powerpc/kvm/mpic.c
> @@ -1781,7 +1781,6 @@ int kvmppc_mpic_connect_vcpu(struct kvm_device *dev, struct kvm_vcpu *vcpu,
> if (opp->mpic_mode_mask = GCR_MODE_PROXY)
> vcpu->arch.epr_flags |= KVMPPC_EPR_KERNEL;
>
> - kvm_device_get(dev);
> out:
> spin_unlock_irq(&opp->lock);
> return ret;
> @@ -1797,7 +1796,6 @@ void kvmppc_mpic_disconnect_vcpu(struct openpic *opp, struct kvm_vcpu *vcpu)
> BUG_ON(!opp->dst[vcpu->arch.irq_cpu_id].vcpu);
>
> opp->dst[vcpu->arch.irq_cpu_id].vcpu = NULL;
> - kvm_device_put(opp->dev);
> }
>
> /*
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index feffbda..36c9776 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -393,6 +393,7 @@ struct kvm {
> long mmu_notifier_count;
> #endif
> long tlbs_dirty;
> + struct list_head devices;
> };
>
> #define kvm_err(fmt, ...) \
> @@ -1069,8 +1070,8 @@ struct kvm_device_ops;
> struct kvm_device {
> struct kvm_device_ops *ops;
> struct kvm *kvm;
> - atomic_t users;
> void *private;
> + struct list_head vm_node;
> };
>
> /* create, destroy, and name are mandatory */
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index f6cd14d..5da9f02 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -504,6 +504,7 @@ static struct kvm *kvm_create_vm(unsigned long type)
> mutex_init(&kvm->irq_lock);
> mutex_init(&kvm->slots_lock);
> atomic_set(&kvm->users_count, 1);
> + INIT_LIST_HEAD(&kvm->devices);
>
> r = kvm_init_mmu_notifier(kvm);
> if (r)
> @@ -581,6 +582,19 @@ void kvm_free_physmem(struct kvm *kvm)
> kfree(kvm->memslots);
> }
>
> +static void kvm_destroy_devices(struct kvm *kvm)
> +{
> + struct list_head *node, *tmp;
> +
> + list_for_each_safe(node, tmp, &kvm->devices) {
> + struct kvm_device *dev > + list_entry(node, struct kvm_device, vm_node);
> +
> + list_del(node);
> + dev->ops->destroy(dev);
> + }
> +}
> +
> static void kvm_destroy_vm(struct kvm *kvm)
> {
> int i;
> @@ -600,6 +614,7 @@ static void kvm_destroy_vm(struct kvm *kvm)
> kvm_arch_flush_shadow_all(kvm);
> #endif
> kvm_arch_destroy_vm(kvm);
> + kvm_destroy_devices(kvm);
> kvm_free_physmem(kvm);
> cleanup_srcu_struct(&kvm->srcu);
> kvm_arch_free_vm(kvm);
> @@ -2195,23 +2210,11 @@ static long kvm_device_ioctl(struct file *filp, unsigned int ioctl,
> }
> }
>
> -void kvm_device_get(struct kvm_device *dev)
> -{
> - atomic_inc(&dev->users);
> -}
> -
> -void kvm_device_put(struct kvm_device *dev)
> -{
> - if (atomic_dec_and_test(&dev->users))
> - dev->ops->destroy(dev);
> -}
> -
> static int kvm_device_release(struct inode *inode, struct file *filp)
> {
> struct kvm_device *dev = filp->private_data;
> struct kvm *kvm = dev->kvm;
>
> - kvm_device_put(dev);
> kvm_put_kvm(kvm);
> return 0;
> }
> @@ -2257,7 +2260,6 @@ static int kvm_ioctl_create_device(struct kvm *kvm,
>
> dev->ops = ops;
> dev->kvm = kvm;
> - atomic_set(&dev->users, 1);
>
> ret = ops->create(dev, cd->type);
> if (ret < 0) {
> @@ -2271,6 +2273,7 @@ static int kvm_ioctl_create_device(struct kvm *kvm,
> return ret;
> }
>
> + list_add(&dev->vm_node, &kvm->devices);
> kvm_get_kvm(kvm);
> cd->fd = ret;
> return 0;
> --
> 1.6.0.2
--
Gleb.
WARNING: multiple messages have this Message-ID (diff)
From: Gleb Natapov <gleb@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: kvm-ppc@vger.kernel.org,
"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
Scott Wood <scottwood@freescale.com>
Subject: Re: [PATCH 34/42] kvm: destroy emulated devices on VM exit
Date: Sun, 28 Apr 2013 08:43:01 +0300 [thread overview]
Message-ID: <20130428054301.GB30504@redhat.com> (raw)
In-Reply-To: <1367001037-10394-56-git-send-email-agraf@suse.de>
On Fri, Apr 26, 2013 at 08:30:29PM +0200, Alexander Graf wrote:
> From: Scott Wood <scottwood@freescale.com>
>
> The hassle of getting refcounting right was greater than the hassle
> of keeping a list of devices to destroy on VM exit.
>
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> arch/powerpc/kvm/mpic.c | 2 --
> include/linux/kvm_host.h | 3 ++-
> virt/kvm/kvm_main.c | 29 ++++++++++++++++-------------
> 3 files changed, 18 insertions(+), 16 deletions(-)
>
Just fold it into respective patches in the series. There is not point
to introduce ref counting and remove it in the same patch series.
> diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
> index 89fe1d6..795ca0c 100644
> --- a/arch/powerpc/kvm/mpic.c
> +++ b/arch/powerpc/kvm/mpic.c
> @@ -1781,7 +1781,6 @@ int kvmppc_mpic_connect_vcpu(struct kvm_device *dev, struct kvm_vcpu *vcpu,
> if (opp->mpic_mode_mask == GCR_MODE_PROXY)
> vcpu->arch.epr_flags |= KVMPPC_EPR_KERNEL;
>
> - kvm_device_get(dev);
> out:
> spin_unlock_irq(&opp->lock);
> return ret;
> @@ -1797,7 +1796,6 @@ void kvmppc_mpic_disconnect_vcpu(struct openpic *opp, struct kvm_vcpu *vcpu)
> BUG_ON(!opp->dst[vcpu->arch.irq_cpu_id].vcpu);
>
> opp->dst[vcpu->arch.irq_cpu_id].vcpu = NULL;
> - kvm_device_put(opp->dev);
> }
>
> /*
> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
> index feffbda..36c9776 100644
> --- a/include/linux/kvm_host.h
> +++ b/include/linux/kvm_host.h
> @@ -393,6 +393,7 @@ struct kvm {
> long mmu_notifier_count;
> #endif
> long tlbs_dirty;
> + struct list_head devices;
> };
>
> #define kvm_err(fmt, ...) \
> @@ -1069,8 +1070,8 @@ struct kvm_device_ops;
> struct kvm_device {
> struct kvm_device_ops *ops;
> struct kvm *kvm;
> - atomic_t users;
> void *private;
> + struct list_head vm_node;
> };
>
> /* create, destroy, and name are mandatory */
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index f6cd14d..5da9f02 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -504,6 +504,7 @@ static struct kvm *kvm_create_vm(unsigned long type)
> mutex_init(&kvm->irq_lock);
> mutex_init(&kvm->slots_lock);
> atomic_set(&kvm->users_count, 1);
> + INIT_LIST_HEAD(&kvm->devices);
>
> r = kvm_init_mmu_notifier(kvm);
> if (r)
> @@ -581,6 +582,19 @@ void kvm_free_physmem(struct kvm *kvm)
> kfree(kvm->memslots);
> }
>
> +static void kvm_destroy_devices(struct kvm *kvm)
> +{
> + struct list_head *node, *tmp;
> +
> + list_for_each_safe(node, tmp, &kvm->devices) {
> + struct kvm_device *dev =
> + list_entry(node, struct kvm_device, vm_node);
> +
> + list_del(node);
> + dev->ops->destroy(dev);
> + }
> +}
> +
> static void kvm_destroy_vm(struct kvm *kvm)
> {
> int i;
> @@ -600,6 +614,7 @@ static void kvm_destroy_vm(struct kvm *kvm)
> kvm_arch_flush_shadow_all(kvm);
> #endif
> kvm_arch_destroy_vm(kvm);
> + kvm_destroy_devices(kvm);
> kvm_free_physmem(kvm);
> cleanup_srcu_struct(&kvm->srcu);
> kvm_arch_free_vm(kvm);
> @@ -2195,23 +2210,11 @@ static long kvm_device_ioctl(struct file *filp, unsigned int ioctl,
> }
> }
>
> -void kvm_device_get(struct kvm_device *dev)
> -{
> - atomic_inc(&dev->users);
> -}
> -
> -void kvm_device_put(struct kvm_device *dev)
> -{
> - if (atomic_dec_and_test(&dev->users))
> - dev->ops->destroy(dev);
> -}
> -
> static int kvm_device_release(struct inode *inode, struct file *filp)
> {
> struct kvm_device *dev = filp->private_data;
> struct kvm *kvm = dev->kvm;
>
> - kvm_device_put(dev);
> kvm_put_kvm(kvm);
> return 0;
> }
> @@ -2257,7 +2260,6 @@ static int kvm_ioctl_create_device(struct kvm *kvm,
>
> dev->ops = ops;
> dev->kvm = kvm;
> - atomic_set(&dev->users, 1);
>
> ret = ops->create(dev, cd->type);
> if (ret < 0) {
> @@ -2271,6 +2273,7 @@ static int kvm_ioctl_create_device(struct kvm *kvm,
> return ret;
> }
>
> + list_add(&dev->vm_node, &kvm->devices);
> kvm_get_kvm(kvm);
> cd->fd = ret;
> return 0;
> --
> 1.6.0.2
--
Gleb.
next prev parent reply other threads:[~2013-04-28 5:43 UTC|newest]
Thread overview: 180+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-26 8:24 [PATCH 00/20] KVM: PPC: In-kernel MPIC support with irqfd v4 Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 01/20] KVM: Add KVM_IRQCHIP_NUM_PINS in addition to KVM_IOAPIC_NUM_PINS Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 02/20] KVM: Introduce CONFIG_HAVE_KVM_IRQ_ROUTING Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 03/20] KVM: Drop __KVM_HAVE_IOAPIC condition on irq routing Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 04/20] KVM: Remove kvm_get_intr_delivery_bitmask Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 05/20] KVM: Move irq routing to generic code Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 06/20] KVM: Extract generic irqchip logic into irqchip.c Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 07/20] KVM: Move irq routing setup to irqchip.c Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 08/20] KVM: Move irqfd resample cap handling to generic code Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 09/20] kvm: add device control API Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 10/20] kvm/ppc/mpic: import hw/openpic.c from QEMU Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 11/20] kvm/ppc/mpic: remove some obviously unneeded code Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 12/20] kvm/ppc/mpic: adapt to kernel style and environment Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 13/20] kvm/ppc/mpic: in-kernel MPIC emulation Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 14/20] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 15/20] KVM: PPC: Support irq routing and irqfd for in-kernel MPIC Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 16/20] KVM: PPC: MPIC: Add support for KVM_IRQ_LINE Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 17/20] KVM: PPC: MPIC: Restrict to e500 platforms Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 18/20] KVM: IA64: Carry non-ia64 changes into ia64 Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 19/20] kvm: destroy emulated devices on VM exit Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 8:24 ` [PATCH 20/20] kvm/ppc/mpic: Eliminate mmio_mapped Alexander Graf
2013-04-26 8:24 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 00/20] KVM: PPC: In-kernel MPIC support with irqfd v4 Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 01/20] KVM: Add KVM_IRQCHIP_NUM_PINS in addition to KVM_IOAPIC_NUM_PINS Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 02/20] KVM: Introduce CONFIG_HAVE_KVM_IRQ_ROUTING Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 03/20] KVM: Drop __KVM_HAVE_IOAPIC condition on irq routing Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 04/20] KVM: Remove kvm_get_intr_delivery_bitmask Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 05/20] KVM: Move irq routing to generic code Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 06/20] KVM: Extract generic irqchip logic into irqchip.c Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 07/20] KVM: Move irq routing setup to irqchip.c Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 08/20] KVM: Move irqfd resample cap handling to generic code Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 09/20] kvm: add device control API Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 10/20] kvm/ppc/mpic: import hw/openpic.c from QEMU Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 11/20] kvm/ppc/mpic: remove some obviously unneeded code Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 12/20] kvm/ppc/mpic: adapt to kernel style and environment Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 13/20] kvm/ppc/mpic: in-kernel MPIC emulation Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 14/20] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 15/20] KVM: PPC: Support irq routing and irqfd for in-kernel MPIC Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 16/20] KVM: PPC: MPIC: Add support for KVM_IRQ_LINE Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 17/20] KVM: PPC: MPIC: Restrict to e500 platforms Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 18/20] KVM: IA64: Carry non-ia64 changes into ia64 Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 19/20] kvm: destroy emulated devices on VM exit Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 20/20] kvm/ppc/mpic: Eliminate mmio_mapped Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PULL 00/42] ppc patch queue 2013-04-26 for 3.10 Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-28 10:05 ` Gleb Natapov
2013-04-28 10:05 ` Gleb Natapov
2013-04-26 18:29 ` [PATCH 01/42] KVM: PPC: cache flush for kernel managed pages Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 02/42] KVM: PPC: debug stub interface parameter defined Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 03/42] Rename EMULATE_DO_PAPR to EMULATE_EXIT_USER Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:29 ` [PATCH 04/42] KVM: extend EMULATE_EXIT_USER to support different exit reasons Alexander Graf
2013-04-26 18:29 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 05/42] booke: exit to user space if emulator request Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 06/42] KVM: PPC: Book3E: Refactor ONE_REG ioctl implementation Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 07/42] KVM: PPC: e500: Expose MMU registers via ONE_REG Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 08/42] KVM: PPC: e500: Move vcpu's MMU configuration to dedicated functions Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 09/42] KVM: PPC: e500: Add support for TLBnPS registers Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 10/42] KVM: PPC: e500: Add support for EPTCFG register Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 11/42] KVM: PPC: e500: Remove E.PT and E.HV.LRAT categories from VCPUs Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 12/42] KVM: PPC: e500mc: Enable e6500 cores Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 13/42] KVM: PPC: e500: Add e6500 core to Kconfig description Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 14/42] KVM: PPC: Book3S HV: Make HPT reading code notice R/C bit changes Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 15/42] KVM: PPC: Book3S HV: Report VPA and DTL modifications in dirty map Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 16/42] KVM: Add KVM_IRQCHIP_NUM_PINS in addition to KVM_IOAPIC_NUM_PINS Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-28 5:41 ` Gleb Natapov
2013-04-28 5:41 ` Gleb Natapov
2013-04-28 9:46 ` Alexander Graf
2013-04-28 9:46 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 17/42] KVM: Introduce CONFIG_HAVE_KVM_IRQ_ROUTING Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 18/42] KVM: Drop __KVM_HAVE_IOAPIC condition on irq routing Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 19/42] KVM: Remove kvm_get_intr_delivery_bitmask Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 20/42] KVM: Move irq routing to generic code Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 21/42] KVM: Extract generic irqchip logic into irqchip.c Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 22/42] KVM: Move irq routing setup to irqchip.c Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 23/42] KVM: Move irqfd resample cap handling to generic code Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 24/42] kvm: add device control API Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 25/42] kvm/ppc/mpic: import hw/openpic.c from QEMU Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 26/42] kvm/ppc/mpic: remove some obviously unneeded code Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 27/42] kvm/ppc/mpic: adapt to kernel style and environment Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 28/42] kvm/ppc/mpic: in-kernel MPIC emulation Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 29/42] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 30/42] KVM: PPC: Support irq routing and irqfd for in-kernel MPIC Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 31/42] KVM: PPC: MPIC: Add support for KVM_IRQ_LINE Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 32/42] KVM: PPC: MPIC: Restrict to e500 platforms Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 33/42] KVM: IA64: Carry non-ia64 changes into ia64 Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 34/42] kvm: destroy emulated devices on VM exit Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-28 5:43 ` Gleb Natapov [this message]
2013-04-28 5:43 ` Gleb Natapov
2013-04-28 9:47 ` Alexander Graf
2013-04-28 9:47 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 35/42] kvm/ppc/mpic: Eliminate mmio_mapped Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 36/42] KVM: PPC: Book3S: Add infrastructure to implement kernel-side RTAS calls Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 37/42] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 38/42] KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 39/42] KVM: PPC: Book3S HV: Add support for real mode ICP in XICS emulation Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 40/42] KVM: PPC: Book3S HV: Improve real-mode handling of external interrupts Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 41/42] KVM: PPC: Book3S: Add support for ibm,int-on/off RTAS calls Alexander Graf
2013-04-26 18:30 ` Alexander Graf
2013-04-26 18:30 ` [PATCH 42/42] KVM: PPC: Book3S: Facilities to save/restore XICS presentation ctrler state Alexander Graf
2013-04-26 18:30 ` 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=20130428054301.GB30504@redhat.com \
--to=gleb@redhat.com \
--cc=agraf@suse.de \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.