From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uxig0-0005Vb-RW for qemu-devel@nongnu.org; Fri, 12 Jul 2013 15:06:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uxify-0007Wz-F7 for qemu-devel@nongnu.org; Fri, 12 Jul 2013 15:06:44 -0400 Received: from mail-ob0-f173.google.com ([209.85.214.173]:45659) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uxify-0007Wl-9s for qemu-devel@nongnu.org; Fri, 12 Jul 2013 15:06:42 -0400 Received: by mail-ob0-f173.google.com with SMTP id wc20so11689739obb.18 for ; Fri, 12 Jul 2013 12:06:41 -0700 (PDT) From: Anthony Liguori In-Reply-To: <51E0372C.2070209@reactos.org> References: <51C75FA6.6080903@reactos.org> <51C7E21A.9090005@web.de> <8A36D64D-0625-49E1-9E59-391DAEEBD1FC@suse.de> <51DEA91B.40903@suse.de> <3FAA7DE1-06A0-45C5-885C-0433BCC0CFE8@suse.de> <5D205309-1154-4730-902E-BF07F5D3B4EB@suse.de> <1373581960.19894.109.camel@pasglop> <02433CA4-954D-4C56-A4A4-7BC0D62638C0@suse.de> <1373628932.19894.158.camel@pasglop> <51E0372C.2070209@reactos.org> Date: Fri, 12 Jul 2013 14:06:39 -0500 Message-ID: <87vc4f1tts.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH v3 11/14] ioport: Switch dispatching to memory core layer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?utf-8?Q?Herv=C3=A9?= Poussineau , Benjamin Herrenschmidt Cc: Liu Ping Fan , Jan Kiszka , qemu-devel Developers , Alexander Graf , "qemu-ppc@nongnu.org list:PowerPC" , Paolo Bonzini , Andreas =?utf-8?Q?F=C3=A4rber?= Herv=C3=A9 Poussineau writes: > When only one of them is changed, this means some "interesting" things=20 > can happen. For example, in [1]: > "When PowerPC little-endian is in effect but before system's=20 > little-endian is in effect, the address munge becomes effective. If we=20 > need to access system endian port (byte) address, say 0x80000092, the=20 > program needs to issue 0x80000095 instead, to compensate (unmunge) for=20 > the effect of PowerPC address modification." > > Those will be required for QEMU to be able to run BeOS, AIX, or Windows=20 > NT or PowerPC PReP. > > In the light of this, I think there should only be one endianness for=20 > all memory accesses (which could be changed at runtime), We already do this, it's "host native endian". > and all=20 > bridges/devices should ask for "same endianness as parent" or "reverse=20 > endianness as parent", but not for big, little, or native endianness. I/O doesn't propagate so there's no way to say something like this. That's the fundamental problem IMHO. Regards, Anthony Liguori > > Regards, > > Herv=C3=A9 > > [1] ftp://ftp.software.ibm.com/rs6000/technology/spec/endian.ps)