On Mon, Jun 08, 2020 at 12:15:27PM +0200, Guennadi Liakhovetski wrote: > On Mon, Jun 08, 2020 at 05:19:06AM -0400, Michael S. Tsirkin wrote: > > On Mon, Jun 08, 2020 at 11:11:00AM +0200, Guennadi Liakhovetski wrote: > > > 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. > > > > Yes. And it would be very good to have some standartization before we > > keep adding things. For example without any spec if host code breaks > > with some guests, how do we know which side should be fixed? > > > > > Also it looks like newer interface definitions > > > specify using "guest native endianness" for Virtual Queue data. > > > > They really don't or shouldn't. That's limited to legacy chapters. > > Some definitions could have slipped through but it's not > > the norm. I just quickly looked through the 1.1 spec and could > > not find any instances that specify "guest native endianness" > > but feel free to point them out to me. > > Oh, there you go. No, sorry, my fault, it's the other way round: "guest > native" is for legacy and LE is for current / v1.0 and up. > > > > So > > > I think the same should be done for RPMsg instead of enforcing LE? > > > > That makes hardware implementations as well as any cross-endian > > hypervisors tricky. > > Yes, LE it is then. And we need to add some text to the spec. > > In theory there could be a backward compatibility issue - in case someone > was already using virtio_rpmsg_bus.c in BE mode, but I very much doubt > that... > > Thanks > Guennadi It's probably easiest to use virtio wrappers and then we don't need to worry about it. -- MST