From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V8oQC-00064m-Ol for qemu-devel@nongnu.org; Mon, 12 Aug 2013 05:28:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V8oQ6-0005Zr-Q1 for qemu-devel@nongnu.org; Mon, 12 Aug 2013 05:28:16 -0400 Received: from gate.crashing.org ([63.228.1.57]:33170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V8oQ6-0005ZZ-H5 for qemu-devel@nongnu.org; Mon, 12 Aug 2013 05:28:10 -0400 Message-ID: <1376299687.32100.159.camel@pasglop> From: Benjamin Herrenschmidt Date: Mon, 12 Aug 2013 19:28:07 +1000 In-Reply-To: <1376294363-4650-2-git-send-email-rusty@rustcorp.com.au> References: <1376294363-4650-1-git-send-email-rusty@rustcorp.com.au> <1376294363-4650-2-git-send-email-rusty@rustcorp.com.au> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/8] virtio_get_byteswap: function for endian-ambivalent targets using virtio. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Rusty Russell Cc: qemu-devel@nongnu.org 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 ? 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.