Messages in this thread | | | Date | Wed, 26 Nov 2014 18:56:53 +0200 | From | "Michael S. Tsirkin" <> | Subject | Re: [PATCH v4 02/42] virtio: add support for 64 bit features. |
| |
On Wed, Nov 26, 2014 at 05:48:09PM +0100, Greg Kurz wrote: > On Tue, 25 Nov 2014 18:41:22 +0200 > "Michael S. Tsirkin" <mst@redhat.com> wrote: > > > From: Rusty Russell <rusty@rustcorp.com.au> > > > > Change the u32 to a u64, and make sure to use 1ULL everywhere! > > > > Cc: Brian Swetland <swetland@google.com> > > Cc: Christian Borntraeger <borntraeger@de.ibm.com> > > [Thomas Huth: fix up virtio-ccw get_features] > > Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> > > Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> > > Acked-by: Pawel Moll <pawel.moll@arm.com> > > Acked-by: Ohad Ben-Cohen <ohad@wizery.com> > > > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
...
> > @@ -86,14 +86,14 @@ static inline bool virtio_has_feature(const struct virtio_device *vdev, > > { > > /* Did you forget to fix assumptions on max features? */ > > if (__builtin_constant_p(fbit)) > > - BUILD_BUG_ON(fbit >= 32); > > + BUILD_BUG_ON(fbit >= 64); > > > While you're here, maybe you could derive the max value from the .features field ? > > - BUILD_BUG_ON(fbit >= 64); > + BUILD_BUG_ON(fbit >= (sizeof(vdev->features) << 3));
I don't see how that will help. All that 1ULL math only works up to 64 bit. So this only makes it look like we support any size, but doesn't really.
No?
| |