Benjamin Herrenschmidt <b...@kernel.crashing.org> writes: > On Mon, 2013-08-12 at 17:29 +0930, Rusty Russell wrote: >> virtio data structures are defined as "target endian", which assumes >> that's a fixed value. In fact, that actually means it's >> platform-specific. >> >> Hopefully the OASIS virtio 1.0 spec will fix this. Meanwhile, create >> a hook for little endian ppc. > > Ok, sorry if I missed a previous debate on that one but why do you do a > call-out to architecture specific stuff (that is not even inline) on > every access ?
Let's focus on getting something merged. Then we can muck around with it down the road. Having target-ppc call into virtio is a layering violation. This approach keeps the dependencies cleaner. Regards, Anthony Liguori > > If we consider that virtio byte order is global, can't you make it a > global that is *set* by the architecture rather than *polled* by > virtio ? > > We have explicit knowledge of when our endianness change (we get the > hcall or a write to some SPR), we can call virtio *then* to adjust the > endianness rather than having a call-out to the platform on every > access. > > Ben.