Re: [PATCH RFC 1/2] virtio_balloon: convert to virtio 1.0 endian-ness

From: Cornelia Huck
Date: Tue Dec 02 2014 - 13:39:46 EST


On Tue, 2 Dec 2014 13:44:06 +0200
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:

> balloon device is not part of virtio 1.0 spec. Still, it's easy enough
> to make it handle endian-ness exactly as other virtio 1.0 devices: what
> we gain from this, is that there's no need to special-case it in virtio
> core.

Well, the balloon is weird in a number of ways, including its always
little-endian config space.

But I'm not quite sure the spec covers this?

>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> ---
> include/uapi/linux/virtio_balloon.h | 5 +++--
> drivers/virtio/virtio_balloon.c | 4 ++--
> 2 files changed, 5 insertions(+), 4 deletions(-)
>

> struct virtio_balloon_stat {
> - __u16 tag;
> - __u64 val;
> + __virtio16 tag;
> + __virtio64 val;
> } __attribute__((packed));

Would the respective fields in the spec need updating? While it is
actually talking about legacy requirements, the fields are not
specified as __virtio{16,64}.

Also, is changing the stat fields enough? I've not looked into balloon
operation, but does the payload need some endianess conversion as well?

--
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/