Thread (21 messages) flat view 21 messages, 6 authors, 2015-03-23

Re: [PATCH 1/1] Add virtio-input driver.

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2015-03-23 18:21:05
Also in: lkml, virtualization

On Mon, Mar 23, 2015 at 04:05:29PM +0100, Gerd Hoffmann wrote:
On Mo, 2015-03-23 at 15:54 +0100, Michael S. Tsirkin wrote:
quoted
On Mon, Mar 23, 2015 at 03:27:35PM +0100, Gerd Hoffmann wrote:
quoted
  Hi,
quoted
quoted
quoted
quoted
You are doing leXXX everywhere, that's VERSION_1 dependency.
virtio_cread will do byteswaps differently without VERSION_1.
Just don't go there.
quoted
So to clarify, you dislike using __virtio32 in virtio input header?
Well, as I understand things __virtio32 implies byteorder depends on
whenever we are using VERSION_1 or not.  And non-transitional drivers
should not need it as everything is by definition little endian.

So, yes, your suggestion to just require VERSION_1 in the driver implies
in my eyes that there should be no reason to use __virtio32 instead of
__le32.

Or do I miss something here?

cheers,
  Gerd
You are right but then if you do require VERSION_1 then
__virtio32 becomes identical to __le32.
Except that sparse doesn't know that and throws errors when I mix the
two.
quoted
There's some runtime overhead as we check on each access,
but it shouldn't matter here, right?
Correct, config space is used at initialization time only.
quoted
I guess we could add virtio_cread_le - is this what
you'd like?
I just want something that makes both you and sparse happy.  I don't
care much whenever that is adding virtio_cread_le() or using __virtio32
even though it'll effectively is __le32 due to VERSION_1 being required.

cheers,
  Gerd
OK so how about we just use __virtio32 everywhere for now?

-- 
MST
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help