Update: I looked through VirtIO 1.0 and 1.1 specs, data format their, including byte order, is defined on a per-device type basis. RPMsg is indeed included in the spec as device type 7, but that's the only mention of it in both versions. It seems RPMsg over VirtIO isn't standardised yet. Also it looks like newer interface definitions specify using "guest native endianness" for Virtual Queue data. So I think the same should be done for RPMsg instead of enforcing LE?
Thanks Guennadi
On Mon, Jun 08, 2020 at 09:37:15AM +0200, Guennadi Liakhovetski wrote:
Hi Michael,
On Fri, Jun 05, 2020 at 08:34:35AM +0200, Guennadi Liakhovetski wrote:
On Thu, Jun 04, 2020 at 03:23:37PM -0400, Michael S. Tsirkin wrote:
[snip]
Another it's out of line with 1.0 spec passing guest endian data around. Won't work if host and guest endian-ness do not match. Should pass eveything in LE and convert.
Yes, I have to fix this, thanks.
Just to make sure my understanding is correct: this would involve also modifying the current virtio_rpmsg_bus.c implementation to add endianness conversions. That's what you meant, right?