Thread (5 messages) 5 messages, 2 authors, 2014-12-03

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

From: Cornelia Huck <hidden>
Date: 2014-12-02 18:39:42
Also in: lkml

On Tue, 2 Dec 2014 13:44:06 +0200
"Michael S. Tsirkin" [off-list ref] 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 <redacted>
---
 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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help