From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amit Shah Date: Fri, 03 Oct 2008 07:21:54 +0000 Subject: Re: [PATCH 2/8]kvm: Moving device_assignment logic to kvm_main.c Message-Id: <200810031239.54863.amit.shah@redhat.com> List-Id: References: <42DFA526FC41B1429CE7279EF83C6BDC01A53DF4@pdsmsx415.ccr.corp.intel.com> In-Reply-To: <42DFA526FC41B1429CE7279EF83C6BDC01A53DF4@pdsmsx415.ccr.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm-ia64@vger.kernel.org * On Monday 29 Sep 2008 10:56:29 Zhang, Xiantao wrote: > From: Xiantao Zhang > Date: Sat, 27 Sep 2008 10:59:36 +0800 > Subject: [PATCH] kvm: Moving device_assignment logic to kvm_main.c > > To share with other archs, this patch moves device_assignment > logic to common parts. > Signed-off-by: Xiantao Zhang > diff --git a/include/linux/kvm.h b/include/linux/kvm.h > index 4269be1..9acf34a 100644 > --- a/include/linux/kvm.h > +++ b/include/linux/kvm.h > @@ -383,7 +383,9 @@ struct kvm_trace_rec { > #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 */ > +#ifdef CONFIG_X86 > #define KVM_CAP_DEVICE_ASSIGNMENT 17 > +#endif I didn't see this changed to also accomodate IA64 in the patchset. > /* > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 73b7c52..10c1146 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -281,6 +281,7 @@ void kvm_free_physmem(struct kvm *kvm); > > struct kvm *kvm_arch_create_vm(void); > void kvm_arch_destroy_vm(struct kvm *kvm); > +void kvm_free_all_assigned_devices(struct kvm *kvm); > > int kvm_cpu_get_interrupt(struct kvm_vcpu *v); > int kvm_cpu_has_interrupt(struct kvm_vcpu *v); > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 6cf0427..59e08a4 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -51,6 +51,12 @@ > #include "coalesced_mmio.h" > #endif > > +#ifdef KVM_CAP_DEVICE_ASSIGNMENT > +#include > +#include > +#include "irq.h" > +#endif > + > MODULE_AUTHOR("Qumranet"); > MODULE_LICENSE("GPL"); > > @@ -71,6 +77,240 @@ static long kvm_vcpu_ioctl(struct file *file, > unsigned int ioctl, > > bool kvm_rebooting; > > +#ifdef KVM_CAP_DEVICE_ASSIGNMENT Since you're doing this, you should also put the kvm_free_all_assigned_devices in the #ifdef for x86. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amit Shah Subject: Re: [PATCH 2/8]kvm: Moving device_assignment logic to kvm_main.c Date: Fri, 3 Oct 2008 12:39:54 +0530 Message-ID: <200810031239.54863.amit.shah@redhat.com> References: <42DFA526FC41B1429CE7279EF83C6BDC01A53DF4@pdsmsx415.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, kvm-ia64@vger.kernel.org, avi@redhat.com To: "Zhang, Xiantao" Return-path: Received: from mx2.redhat.com ([66.187.237.31]:56415 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751179AbYJCHOv (ORCPT ); Fri, 3 Oct 2008 03:14:51 -0400 In-Reply-To: <42DFA526FC41B1429CE7279EF83C6BDC01A53DF4@pdsmsx415.ccr.corp.intel.com> Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: * On Monday 29 Sep 2008 10:56:29 Zhang, Xiantao wrote: > From: Xiantao Zhang > Date: Sat, 27 Sep 2008 10:59:36 +0800 > Subject: [PATCH] kvm: Moving device_assignment logic to kvm_main.c > > To share with other archs, this patch moves device_assignment > logic to common parts. > Signed-off-by: Xiantao Zhang > diff --git a/include/linux/kvm.h b/include/linux/kvm.h > index 4269be1..9acf34a 100644 > --- a/include/linux/kvm.h > +++ b/include/linux/kvm.h > @@ -383,7 +383,9 @@ struct kvm_trace_rec { > #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 */ > +#ifdef CONFIG_X86 > #define KVM_CAP_DEVICE_ASSIGNMENT 17 > +#endif I didn't see this changed to also accomodate IA64 in the patchset. > /* > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 73b7c52..10c1146 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -281,6 +281,7 @@ void kvm_free_physmem(struct kvm *kvm); > > struct kvm *kvm_arch_create_vm(void); > void kvm_arch_destroy_vm(struct kvm *kvm); > +void kvm_free_all_assigned_devices(struct kvm *kvm); > > int kvm_cpu_get_interrupt(struct kvm_vcpu *v); > int kvm_cpu_has_interrupt(struct kvm_vcpu *v); > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 6cf0427..59e08a4 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -51,6 +51,12 @@ > #include "coalesced_mmio.h" > #endif > > +#ifdef KVM_CAP_DEVICE_ASSIGNMENT > +#include > +#include > +#include "irq.h" > +#endif > + > MODULE_AUTHOR("Qumranet"); > MODULE_LICENSE("GPL"); > > @@ -71,6 +77,240 @@ static long kvm_vcpu_ioctl(struct file *file, > unsigned int ioctl, > > bool kvm_rebooting; > > +#ifdef KVM_CAP_DEVICE_ASSIGNMENT Since you're doing this, you should also put the kvm_free_all_assigned_devices in the #ifdef for x86.