Re: [kvm-devel] s390 kvm_virtio.c build error
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
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
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
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
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
[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
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
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