Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-14 Thread Christian Borntraeger
Am Montag, 5. Mai 2008 schrieb Avi Kivity:
 I can, but tell me which one.  Also, the patch (Heiko's) needs a 
 changelog entry and a signoff.

Avi,

as this patch is now in your queue, can you push this change
---
commit eee4646877b748afbfd34d8dbe6ea9b454a65745
Author: Heiko Carstens [EMAIL PROTECTED]
Date:   Tue May 6 17:38:30 2008 +0300

s390: KVM guest: fix compile error
---

soon to Linus? kvm still does not compile on s390.

Thank you

Christian

-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-14 Thread Avi Kivity
Christian Borntraeger wrote:
 as this patch is now in your queue, can you push this change
 ---
 commit eee4646877b748afbfd34d8dbe6ea9b454a65745
 Author: Heiko Carstens [EMAIL PROTECTED]
 Date:   Tue May 6 17:38:30 2008 +0300

 s390: KVM guest: fix compile error
 ---

 soon to Linus? kvm still does not compile on s390.
   

Certainly; I plan to push my queue in a day or two.


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


-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-06 Thread Avi Kivity
Martin Schwidefsky wrote:
 I've added Heiko's patch to my patchqueue. But since this is
 drivers/s390/kvm this should go in over the kvm.git. See patch below.

   

Thanks, I added this to my queue as well.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-05 Thread Avi Kivity
Christian Borntraeger wrote:
 Hmm... this should help:

 ---
  drivers/s390/kvm/kvm_virtio.c |   40 
 
 +++-
   
  1 file changed, 23 insertions(+), 17 deletions(-)
 

 Thanks Heiko.
 I did a short test and it seems to work.

 Acked-by: Christian Borntraeger [EMAIL PROTECTED]

 This looks almost identical to Rusty's patch. Who is going to send this (or 
 Rustys) patch to Linus?
   

I can, but tell me which one.  Also, the patch (Heiko's) needs a 
changelog entry and a signoff.

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


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-05 Thread Martin Schwidefsky
On Mon, 2008-05-05 at 16:00 +0300, Avi Kivity wrote:
 Christian Borntraeger wrote:
  Hmm... this should help:
 
  ---
   drivers/s390/kvm/kvm_virtio.c |   40 
  
  +++-

   1 file changed, 23 insertions(+), 17 deletions(-)
  
 
  Thanks Heiko.
  I did a short test and it seems to work.
 
  Acked-by: Christian Borntraeger [EMAIL PROTECTED]
 
  This looks almost identical to Rusty's patch. Who is going to send this (or 
  Rustys) patch to Linus?

 
 I can, but tell me which one.  Also, the patch (Heiko's) needs a 
 changelog entry and a signoff.

I've added Heiko's patch to my patchqueue. But since this is
drivers/s390/kvm this should go in over the kvm.git. See patch below.

-- 
blue skies,
  Martin.

Reality continues to ruin my life. - Calvin.

---
Subject: [PATCH] kvm/s390 compile error

From: Heiko Carstens [EMAIL PROTECTED]

Fix kvm compile error:

Commit c45a6816c19dee67b8f725e6646d428901a6dc24
(virtio: explicit advertisement of driver features)
and commit e976a2b997fc4ad70ccc53acfe62811c4aaec851
(s390: KVM guest: virtio device support, and kvm hypercalls)
don't like each other:

  CC  drivers/s390/kvm/kvm_virtio.o
drivers/s390/kvm/kvm_virtio.c:224: error: unknown field 'feature' specified in 
initializer
drivers/s390/kvm/kvm_virtio.c:224: warning: initialization from incompatible 
pointer type
make[3]: *** [drivers/s390/kvm/kvm_virtio.o] Error 1

Cc: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: Heiko Carstens [EMAIL PROTECTED]
Signed-off-by: Martin Schwidefsky [EMAIL PROTECTED]
---

 drivers/s390/kvm/kvm_virtio.c |   40 +++-
 1 file changed, 23 insertions(+), 17 deletions(-)

diff -urpN linux-2.6/drivers/s390/kvm/kvm_virtio.c 
linux-2.6-patched/drivers/s390/kvm/kvm_virtio.c
--- linux-2.6/drivers/s390/kvm/kvm_virtio.c 2008-05-05 13:20:45.0 
+0200
+++ linux-2.6-patched/drivers/s390/kvm/kvm_virtio.c 2008-05-05 
13:20:48.0 +0200
@@ -78,27 +78,32 @@ static unsigned desc_size(const struct k
+ desc-config_len;
 }
 
-/*
- * This tests (and acknowleges) a feature bit.
- */
-static bool kvm_feature(struct virtio_device *vdev, unsigned fbit)
+/* This gets the device's feature bits. */
+static u32 kvm_get_features(struct virtio_device *vdev)
 {
+   unsigned int i;
+   u32 features = 0;
struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
-   u8 *features;
+   u8 *in_features = kvm_vq_features(desc);
 
-   if (fbit / 8  desc-feature_len)
-   return false;
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++)
+   if (in_features[i / 8]  (1  (i % 8)))
+   features |= (1  i);
+   return features;
+}
 
-   features = kvm_vq_features(desc);
-   if (!(features[fbit / 8]  (1  (fbit % 8
-   return false;
+static void kvm_set_features(struct virtio_device *vdev, u32 features)
+{
+   unsigned int i;
+   struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
+   /* Second half of bitmap is features we accept. */
+   u8 *out_features = kvm_vq_features(desc) + desc-feature_len;
 
-   /*
-* We set the matching bit in the other half of the bitmap to tell the
-* Host we want to use this feature.
-*/
-   features[desc-feature_len + fbit / 8] |= (1  (fbit % 8));
-   return true;
+   memset(out_features, 0, desc-feature_len);
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++) {
+   if (features  (1  i))
+   out_features[i / 8] |= (1  (i % 8));
+   }
 }
 
 /*
@@ -221,7 +226,8 @@ static void kvm_del_vq(struct virtqueue 
  * The config ops structure as defined by virtio config
  */
 static struct virtio_config_ops kvm_vq_configspace_ops = {
-   .feature = kvm_feature,
+   .get_features = kvm_get_features,
+   .set_features = kvm_set_features,
.get = kvm_get,
.set = kvm_set,
.get_status = kvm_get_status,



-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-05 Thread Carsten Otte
[EMAIL PROTECTED] wrote:
 I've added Heiko's patch to my patchqueue. But since this is
 drivers/s390/kvm this should go in over the kvm.git. See patch below.
Acked-by: Carsten Otte [EMAIL PROTECTED]


-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-04 Thread Heiko Carstens
On Sat, May 03, 2008 at 08:47:17PM +0300, Adrian Bunk wrote:
 Commit c45a6816c19dee67b8f725e6646d428901a6dc24
 (virtio: explicit advertisement of driver features)
 and commit e976a2b997fc4ad70ccc53acfe62811c4aaec851
 (s390: KVM guest: virtio device support, and kvm hypercalls)
 don't like each other:
 
 --  snip  --
 
 ...
   CC  drivers/s390/kvm/kvm_virtio.o
 /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/kvm/kvm_virtio.c:224: 
 error: unknown field 'feature' specified in initializer
 /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/s390/kvm/kvm_virtio.c:224: 
 warning: initialization from incompatible pointer type
 make[3]: *** [drivers/s390/kvm/kvm_virtio.o] Error 1
 
 --  snip  --

Hmm... this should help:

---
 drivers/s390/kvm/kvm_virtio.c |   40 +++-
 1 file changed, 23 insertions(+), 17 deletions(-)

Index: linux-2.6/drivers/s390/kvm/kvm_virtio.c
===
--- linux-2.6.orig/drivers/s390/kvm/kvm_virtio.c
+++ linux-2.6/drivers/s390/kvm/kvm_virtio.c
@@ -78,27 +78,32 @@ static unsigned desc_size(const struct k
+ desc-config_len;
 }
 
-/*
- * This tests (and acknowleges) a feature bit.
- */
-static bool kvm_feature(struct virtio_device *vdev, unsigned fbit)
+/* This gets the device's feature bits. */
+static u32 kvm_get_features(struct virtio_device *vdev)
 {
+   unsigned int i;
+   u32 features = 0;
struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
-   u8 *features;
+   u8 *in_features = kvm_vq_features(desc);
 
-   if (fbit / 8  desc-feature_len)
-   return false;
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++)
+   if (in_features[i / 8]  (1  (i % 8)))
+   features |= (1  i);
+   return features;
+}
 
-   features = kvm_vq_features(desc);
-   if (!(features[fbit / 8]  (1  (fbit % 8
-   return false;
+static void kvm_set_features(struct virtio_device *vdev, u32 features)
+{
+   unsigned int i;
+   struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
+   /* Second half of bitmap is features we accept. */
+   u8 *out_features = kvm_vq_features(desc) + desc-feature_len;
 
-   /*
-* We set the matching bit in the other half of the bitmap to tell the
-* Host we want to use this feature.
-*/
-   features[desc-feature_len + fbit / 8] |= (1  (fbit % 8));
-   return true;
+   memset(out_features, 0, desc-feature_len);
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++) {
+   if (features  (1  i))
+   out_features[i / 8] |= (1  (i % 8));
+   }
 }
 
 /*
@@ -221,7 +226,8 @@ static void kvm_del_vq(struct virtqueue 
  * The config ops structure as defined by virtio config
  */
 static struct virtio_config_ops kvm_vq_configspace_ops = {
-   .feature = kvm_feature,
+   .get_features = kvm_get_features,
+   .set_features = kvm_set_features,
.get = kvm_get,
.set = kvm_set,
.get_status = kvm_get_status,

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] s390 kvm_virtio.c build error

2008-05-04 Thread Rusty Russell
On Sunday 04 May 2008 03:47:17 Adrian Bunk wrote:
 Commit c45a6816c19dee67b8f725e6646d428901a6dc24
 (virtio: explicit advertisement of driver features)
 and commit e976a2b997fc4ad70ccc53acfe62811c4aaec851
 (s390: KVM guest: virtio device support, and kvm hypercalls)
 don't like each other:

Yep, I broke s390.  This was kind of expected, but I didn't want to try to
fix it as I am unable to test.

It would look something like this:

virtio: Attempt to fix kvm_virtio after feature management changes

Very similar to lguest code: set and get feature are now separate callbacks.

Signed-off-by: Rusty Russell [EMAIL PROTECTED]

diff -r 219d6c116996 drivers/s390/kvm/kvm_virtio.c
--- a/drivers/s390/kvm/kvm_virtio.c Mon May 05 10:03:16 2008 +1000
+++ b/drivers/s390/kvm/kvm_virtio.c Mon May 05 10:17:25 2008 +1000
@@ -78,27 +78,34 @@ static unsigned desc_size(const struct k
+ desc-config_len;
 }
 
-/*
- * This tests (and acknowleges) a feature bit.
- */
-static bool kvm_feature(struct virtio_device *vdev, unsigned fbit)
+/* This gets the device's feature bits. */
+static u32 kvm_get_features(struct virtio_device *vdev)
 {
+   unsigned int i;
+   u32 features = 0;
struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
-   u8 *features;
+   u8 *in_features = kvm_vq_features(desc);
 
-   if (fbit / 8  desc-feature_len)
-   return false;
+   /* We do this the slow but generic way. */
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++)
+   if (in_features[i / 8]  (1  (i % 8)))
+   features |= (1  i);
 
-   features = kvm_vq_features(desc);
-   if (!(features[fbit / 8]  (1  (fbit % 8
-   return false;
+   return features;
+}
 
-   /*
-* We set the matching bit in the other half of the bitmap to tell the
-* Host we want to use this feature.
-*/
-   features[desc-feature_len + fbit / 8] |= (1  (fbit % 8));
-   return true;
+static void kvm_set_features(struct virtio_device *vdev, u32 features)
+{
+   unsigned int i;
+   struct kvm_device_desc *desc = to_kvmdev(vdev)-desc;
+   /* Second half of bitmap is features we accept. */
+   u8 *out_features = kvm_vq_features(desc) + desc-feature_len;
+
+   memset(out_features, 0, desc-feature_len);
+   for (i = 0; i  min(desc-feature_len * 8, 32); i++) {
+   if (features  (1  i))
+   out_features[i / 8] |= (1  (i % 8));
+   }
 }
 
 /*
@@ -221,7 +228,8 @@ static void kvm_del_vq(struct virtqueue 
  * The config ops structure as defined by virtio config
  */
 static struct virtio_config_ops kvm_vq_configspace_ops = {
-   .feature = kvm_feature,
+   .get_features = kvm_get_features,
+   .set_features = kvm_set_features,
.get = kvm_get,
.set = kvm_set,
.get_status = kvm_get_status,

-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel