Re: [PATCH v6 06/46] virtio_ccw: add support for 64 bit features.

From: Cornelia Huck
Date: Fri Nov 28 2014 - 07:56:14 EST


On Thu, 27 Nov 2014 22:08:09 +0200
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:

> Negotiate full 64 bit features.
> Change u32 to u64, make sure to use 1ULL everywhere.
>
> Note: devices guarantee that VERSION_1 is clear unless
> revision 1 is negotiated.
>
> Based on patches by Rusty, Thomas Huth and Cornelia.
>
> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> ---
> drivers/s390/kvm/virtio_ccw.c | 30 +++++++++++++++++++++++-------
> 1 file changed, 23 insertions(+), 7 deletions(-)
>

> @@ -691,6 +691,16 @@ static u64 virtio_ccw_get_features(struct virtio_device *vdev)
>
> rc = le32_to_cpu(features->features);
>
> + /* Read second half feature bits from the host. */

s/half feature bits/half of the feature bits/

> + features->index = 1;
> + ccw->cmd_code = CCW_CMD_READ_FEAT;
> + ccw->flags = 0;
> + ccw->count = sizeof(*features);
> + ccw->cda = (__u32)(unsigned long)features;

We don't need to re-setup the ccw, but it probably doesn't hurt for
clarity.

> + ret = ccw_io_helper(vcdev, ccw, VIRTIO_CCW_DOING_READ_FEAT);
> + if (ret == 0)
> + rc |= (u64)le32_to_cpu(features->features) << 32;
> +
> out_free:
> kfree(features);
> kfree(ccw);

Looks good.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/