Hello.

On 11/30/2014 6:11 PM, Michael S. Tsirkin wrote:

We need to use bit 32 for virtio 1.0

Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
Reviewed-by: Jason Wang <jasow...@redhat.com>
---
  drivers/vhost/vhost.h | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 3eda654..c624b09 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
@@ -106,7 +106,7 @@ struct vhost_virtqueue {
        /* Protected by virtqueue mutex. */
        struct vhost_memory *memory;
        void *private_data;
-       unsigned acked_features;
+       u64 acked_features;
        /* Log write descriptors */
        void __user *log_base;
        struct vhost_log *log;
@@ -174,6 +174,6 @@ enum {

  static inline int vhost_has_feature(struct vhost_virtqueue *vq, int bit)
  {
-       return vq->acked_features & (1 << bit);
+       return vq->acked_features & (1ULL << bit);

Erm, wouldn't the high word be just dropped when returning *int*? I think you need !!(vq->acked_features & (1ULL << bit)).

[...]

WBR, Sergei

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to