kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
@ 2009-03-13 15:36 Gregory Haskins
  2009-03-15  9:23 ` Avi Kivity
  2009-03-16  9:25 ` Han, Weidong
  0 siblings, 2 replies; 10+ messages in thread
From: Gregory Haskins @ 2009-03-13 15:36 UTC (permalink / raw)
  To: kvm; +Cc: Mark McLoughlin, Weidong Han, Avi Kivity, Gleb Natapov

[-- Attachment #1: Type: text/plain, Size: 1749 bytes --]

Hi kvm-devs,
  Been away from the kvm scene for a while...hope everyone is well.

FYI: There are a few build breakages between kvm-userspace.git HEAD
(f29d402ab885d30bfa7350378cff911c9c17a226) when you compile against
Linus' linux-2.6.git HEAD
(v2.6.29-rc8-041b62374c7fedc11a8a1eeda2868612d3d1436c)

I am not sure if this is a supported configuration (e.g. perhaps you
only support building kvm-userspace HEAD against Avi's kernel tree?). 
But in case this was unintentional, read on...

First error:

libkvm.c:702: error: ‘struct kvm_irq_level’ has no member named ‘status’
make[1]: *** [libkvm.o] Error 1

Which is attributable to:

commit ea1b668e7684dc43e9d198ba0b25fe47a0b2acd2
Author: Gleb Natapov <gleb@redhat.com>
Date:   Wed Feb 4 17:30:01 2009 +0200

    kvm: qemu: handle IRQ status injection in userspace
   
Reverting this patch does allow the build to get past this error.  Then
I hit the next one:

device-assignment.o: In function `deassign_device':
/home/ghaskins/sandbox/git/fabric/kvm-userspace/qemu/hw/device-assignment.c:562:
undefined reference to `kvm_deassign_pci_device'

Reverting:

commit 1435f18213edee9fabf936f5d6be70054f1f2bd1
Author: Weidong Han <weidong.han@intel.com>
Date:   Wed Feb 18 14:33:41 2009 +0800

    kvm: qemu: fix hot remove assigned device
   
 Followed by:

commit 71ae34caaa961330f53f40090cd180a74fcda5fc
Author: Weidong Han <weidong.han@intel.com>
Date:   Wed Feb 18 14:28:30 2009 +0800

    kvm: qemu: deassign device from guest
   
Does fix the build.  I realize reversion is probably not the desirable
long term solution, but at least it points to the proper places that
need some backwards-compat love ;)

Regards,
-Greg







[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-13 15:36 Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8 Gregory Haskins
@ 2009-03-15  9:23 ` Avi Kivity
  2009-03-15 10:19   ` Gleb Natapov
  2009-03-16  9:25 ` Han, Weidong
  1 sibling, 1 reply; 10+ messages in thread
From: Avi Kivity @ 2009-03-15  9:23 UTC (permalink / raw)
  To: Gregory Haskins; +Cc: kvm, Mark McLoughlin, Weidong Han, Gleb Natapov

Gregory Haskins wrote:
> Hi kvm-devs,
>   Been away from the kvm scene for a while...hope everyone is well.
>
> FYI: There are a few build breakages between kvm-userspace.git HEAD
> (f29d402ab885d30bfa7350378cff911c9c17a226) when you compile against
> Linus' linux-2.6.git HEAD
> (v2.6.29-rc8-041b62374c7fedc11a8a1eeda2868612d3d1436c)
>
> I am not sure if this is a supported configuration (e.g. perhaps you
> only support building kvm-userspace HEAD against Avi's kernel tree?). 
> But in case this was unintentional, read on...
>   

It's a semi-supported configuration.  We don't test it, but we'll fix 
reported bugs (or apply patches...).

> First error:
>
> libkvm.c:702: error: ‘struct kvm_irq_level’ has no member named ‘status’
> make[1]: *** [libkvm.o] Error 1
>
> Which is attributable to:
>
> commit ea1b668e7684dc43e9d198ba0b25fe47a0b2acd2
> Author: Gleb Natapov <gleb@redhat.com>
> Date:   Wed Feb 4 17:30:01 2009 +0200
>
>     kvm: qemu: handle IRQ status injection in userspace
>   

This is due to a missing #ifdef KVM_CAP_... somewhere.

Gleb, can you take a look?

[more breakage]

Let's take this one at a time.



-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-15  9:23 ` Avi Kivity
@ 2009-03-15 10:19   ` Gleb Natapov
  2009-03-15 10:43     ` Avi Kivity
  0 siblings, 1 reply; 10+ messages in thread
From: Gleb Natapov @ 2009-03-15 10:19 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Gregory Haskins, kvm, Mark McLoughlin, Weidong Han

On Sun, Mar 15, 2009 at 11:23:32AM +0200, Avi Kivity wrote:
> Gregory Haskins wrote:
>> Hi kvm-devs,
>>   Been away from the kvm scene for a while...hope everyone is well.
>>
>> FYI: There are a few build breakages between kvm-userspace.git HEAD
>> (f29d402ab885d30bfa7350378cff911c9c17a226) when you compile against
>> Linus' linux-2.6.git HEAD
>> (v2.6.29-rc8-041b62374c7fedc11a8a1eeda2868612d3d1436c)
>>
>> I am not sure if this is a supported configuration (e.g. perhaps you
>> only support building kvm-userspace HEAD against Avi's kernel tree?).  
>> But in case this was unintentional, read on...
>>   
>
> It's a semi-supported configuration.  We don't test it, but we'll fix  
> reported bugs (or apply patches...).
>
>> First error:
>>
>> libkvm.c:702: error: ‘struct kvm_irq_level’ has no member named ‘status’
>> make[1]: *** [libkvm.o] Error 1
>>
>> Which is attributable to:
>>
>> commit ea1b668e7684dc43e9d198ba0b25fe47a0b2acd2
>> Author: Gleb Natapov <gleb@redhat.com>
>> Date:   Wed Feb 4 17:30:01 2009 +0200
>>
>>     kvm: qemu: handle IRQ status injection in userspace
>>   
>
> This is due to a missing #ifdef KVM_CAP_... somewhere.
>
> Gleb, can you take a look?
>
Does this help?

Signed-off-by: Gleb Natapov <gleb@redhat.com>
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index 0ac1c28..3e6bef1 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -667,9 +667,14 @@ int kvm_set_irq_level(kvm_context_t kvm, int irq, int level, int *status)
 	if (r == -1)
 		perror("kvm_set_irq_level");
 
-	if (status)
+	if (status) {
+#if defined(KVM_CAP_IRQ_INJECT_STATUS) && defined(KVM_IRQ_LINE_STATUS)
 		*status = (kvm->irqchip_inject_ioctl == KVM_IRQ_LINE) ?
 			1 : event.status;
+#else
+		*status = 1;
+#endif
+	}
 
 	return 1;
 }
--
			Gleb.

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-15 10:43     ` Avi Kivity
@ 2009-03-15 10:42       ` Gleb Natapov
  2009-03-15 12:19         ` Avi Kivity
  0 siblings, 1 reply; 10+ messages in thread
From: Gleb Natapov @ 2009-03-15 10:42 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Gregory Haskins, kvm, Mark McLoughlin, Weidong Han

On Sun, Mar 15, 2009 at 12:43:13PM +0200, Avi Kivity wrote:
> Gleb Natapov wrote:
>> diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
>> index 0ac1c28..3e6bef1 100644
>> --- a/libkvm/libkvm.c
>> +++ b/libkvm/libkvm.c
>> @@ -667,9 +667,14 @@ int kvm_set_irq_level(kvm_context_t kvm, int irq, int level, int *status)
>>  	if (r == -1)
>>  		perror("kvm_set_irq_level");
>>  -	if (status)
>> +	if (status) {
>> +#if defined(KVM_CAP_IRQ_INJECT_STATUS) && defined(KVM_IRQ_LINE_STATUS)
>>  		*status = (kvm->irqchip_inject_ioctl == KVM_IRQ_LINE) ?
>>  			1 : event.status;
>> +#else
>> +		*status = 1;
>> +#endif
>> +	}
>>   	return 1;
>>  }
>>   
>
> Isn't #ifdef KVM_CAP_... sufficient?  If it is defined it should imply  
> everything needed for injection status is defined and works.
>
It should be sufficient. Just extra care. Remove?

--
			Gleb.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-15 10:19   ` Gleb Natapov
@ 2009-03-15 10:43     ` Avi Kivity
  2009-03-15 10:42       ` Gleb Natapov
  0 siblings, 1 reply; 10+ messages in thread
From: Avi Kivity @ 2009-03-15 10:43 UTC (permalink / raw)
  To: Gleb Natapov; +Cc: Gregory Haskins, kvm, Mark McLoughlin, Weidong Han

Gleb Natapov wrote:
> diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
> index 0ac1c28..3e6bef1 100644
> --- a/libkvm/libkvm.c
> +++ b/libkvm/libkvm.c
> @@ -667,9 +667,14 @@ int kvm_set_irq_level(kvm_context_t kvm, int irq, int level, int *status)
>  	if (r == -1)
>  		perror("kvm_set_irq_level");
>  
> -	if (status)
> +	if (status) {
> +#if defined(KVM_CAP_IRQ_INJECT_STATUS) && defined(KVM_IRQ_LINE_STATUS)
>  		*status = (kvm->irqchip_inject_ioctl == KVM_IRQ_LINE) ?
>  			1 : event.status;
> +#else
> +		*status = 1;
> +#endif
> +	}
>  
>  	return 1;
>  }
>   

Isn't #ifdef KVM_CAP_... sufficient?  If it is defined it should imply 
everything needed for injection status is defined and works.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-15 10:42       ` Gleb Natapov
@ 2009-03-15 12:19         ` Avi Kivity
  0 siblings, 0 replies; 10+ messages in thread
From: Avi Kivity @ 2009-03-15 12:19 UTC (permalink / raw)
  To: Gleb Natapov; +Cc: Gregory Haskins, kvm, Mark McLoughlin, Weidong Han

Gleb Natapov wrote:

  

>> Isn't #ifdef KVM_CAP_... sufficient?  If it is defined it should imply  
>> everything needed for injection status is defined and works.
>>
>>     
> It should be sufficient. Just extra care. Remove?
>   

I removed it locally and applied.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-13 15:36 Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8 Gregory Haskins
  2009-03-15  9:23 ` Avi Kivity
@ 2009-03-16  9:25 ` Han, Weidong
  2009-03-16  9:48   ` Avi Kivity
  1 sibling, 1 reply; 10+ messages in thread
From: Han, Weidong @ 2009-03-16  9:25 UTC (permalink / raw)
  To: 'Gregory Haskins', 'kvm@vger.kernel.org'
  Cc: 'Mark McLoughlin', 'Avi Kivity',
	'Gleb Natapov'

Gregory Haskins wrote:
> Hi kvm-devs,
>   Been away from the kvm scene for a while...hope everyone is well.
> 
> FYI: There are a few build breakages between kvm-userspace.git HEAD
> (f29d402ab885d30bfa7350378cff911c9c17a226) when you compile against
> Linus' linux-2.6.git HEAD
> (v2.6.29-rc8-041b62374c7fedc11a8a1eeda2868612d3d1436c)
> 
> I am not sure if this is a supported configuration (e.g. perhaps you
> only support building kvm-userspace HEAD against Avi's kernel tree?).
> But in case this was unintentional, read on...
> 
> First error:
> 
> libkvm.c:702: error: 'struct kvm_irq_level' has no member named
> 'status' make[1]: *** [libkvm.o] Error 1
> 
> Which is attributable to:
> 
> commit ea1b668e7684dc43e9d198ba0b25fe47a0b2acd2
> Author: Gleb Natapov <gleb@redhat.com>
> Date:   Wed Feb 4 17:30:01 2009 +0200
> 
>     kvm: qemu: handle IRQ status injection in userspace
> 
> Reverting this patch does allow the build to get past this error. 
> Then I hit the next one:
> 
> device-assignment.o: In function `deassign_device':
> /home/ghaskins/sandbox/git/fabric/kvm-userspace/qemu/hw/device-assignment.c:562:
> undefined reference to `kvm_deassign_pci_device'
> 
> Reverting:
> 
> commit 1435f18213edee9fabf936f5d6be70054f1f2bd1
> Author: Weidong Han <weidong.han@intel.com>
> Date:   Wed Feb 18 14:33:41 2009 +0800
> 
>     kvm: qemu: fix hot remove assigned device
> 
>  Followed by:
> 
> commit 71ae34caaa961330f53f40090cd180a74fcda5fc
> Author: Weidong Han <weidong.han@intel.com>
> Date:   Wed Feb 18 14:28:30 2009 +0800
> 
>     kvm: qemu: deassign device from guest
> 
> Does fix the build.  I realize reversion is probably not the desirable
> long term solution, but at least it points to the proper places that
> need some backwards-compat love ;)
> 

kvm_deassign_pci_device is defined when KVM_CAP_DEVICE_DEASSIGNMENT is defined. Following patch should fix the breakage.

diff --git a/qemu/hw/device-assignment.c b/qemu/hw/device-assignment.c
index 7c73210..6765683 100644
--- a/qemu/hw/device-assignment.c
+++ b/qemu/hw/device-assignment.c
@@ -551,6 +551,7 @@ static int assign_irq(AssignedDevInfo *adev)
 
 static void deassign_device(AssignedDevInfo *adev)
 {
+#ifdef KVM_CAP_DEVICE_DEASSIGNMENT
     struct kvm_assigned_pci_dev assigned_dev_data;
     AssignedDevice *dev = adev->assigned_dev;
     int r;
@@ -563,6 +564,7 @@ static void deassign_device(AssignedDevInfo *adev)
     if (r < 0)
 	fprintf(stderr, "Failed to deassign device \"%s\" : %s\n",
                 adev->name, strerror(-r));
+#endif
 }
 
 void remove_assigned_device(AssignedDevInfo *adev)



> Regards,
> -Greg


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-16  9:25 ` Han, Weidong
@ 2009-03-16  9:48   ` Avi Kivity
  2009-03-17  1:02     ` Han, Weidong
  0 siblings, 1 reply; 10+ messages in thread
From: Avi Kivity @ 2009-03-16  9:48 UTC (permalink / raw)
  To: Han, Weidong
  Cc: 'Gregory Haskins', 'kvm@vger.kernel.org',
	'Mark McLoughlin', 'Gleb Natapov'

Han, Weidong wrote:
> kvm_deassign_pci_device is defined when KVM_CAP_DEVICE_DEASSIGNMENT is defined. Following patch should fix the breakage.
>   

Signoff please.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-16  9:48   ` Avi Kivity
@ 2009-03-17  1:02     ` Han, Weidong
  2009-03-17  9:36       ` Avi Kivity
  0 siblings, 1 reply; 10+ messages in thread
From: Han, Weidong @ 2009-03-17  1:02 UTC (permalink / raw)
  To: 'Avi Kivity'
  Cc: 'Gregory Haskins', 'kvm@vger.kernel.org',
	'Mark McLoughlin', 'Gleb Natapov'

Avi Kivity wrote:
> Han, Weidong wrote:
>> kvm_deassign_pci_device is defined when KVM_CAP_DEVICE_DEASSIGNMENT
>> is defined. Following patch should fix the breakage. 
>> 
> 
> Signoff please.

Sorry for missing it.  Signed-off-by: Weidong Han <weidong.han@intel.com>

Regards,
Weidong

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8
  2009-03-17  1:02     ` Han, Weidong
@ 2009-03-17  9:36       ` Avi Kivity
  0 siblings, 0 replies; 10+ messages in thread
From: Avi Kivity @ 2009-03-17  9:36 UTC (permalink / raw)
  To: Han, Weidong
  Cc: 'Gregory Haskins', 'kvm@vger.kernel.org',
	'Mark McLoughlin', 'Gleb Natapov'

Han, Weidong wrote:
> Avi Kivity wrote:
>   
>> Han, Weidong wrote:
>>     
>>> kvm_deassign_pci_device is defined when KVM_CAP_DEVICE_DEASSIGNMENT
>>> is defined. Following patch should fix the breakage. 
>>>
>>>       
>> Signoff please.
>>     
>
> Sorry for missing it.  Signed-off-by: Weidong Han <weidong.han@intel.com>
>
>   

Thanks; applied.

-- 
error compiling committee.c: too many arguments to function


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-03-17  9:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-13 15:36 Build breakage between kvm-userspace.git HEAD and 2.6.29-rc8 Gregory Haskins
2009-03-15  9:23 ` Avi Kivity
2009-03-15 10:19   ` Gleb Natapov
2009-03-15 10:43     ` Avi Kivity
2009-03-15 10:42       ` Gleb Natapov
2009-03-15 12:19         ` Avi Kivity
2009-03-16  9:25 ` Han, Weidong
2009-03-16  9:48   ` Avi Kivity
2009-03-17  1:02     ` Han, Weidong
2009-03-17  9:36       ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).