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 <mst@xxxxxxxxxx> Reviewed-by: Jason Wang <jasowang@xxxxxxxxxx> --- 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@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization