From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y16pA-0006R3-L6 for qemu-devel@nongnu.org; Wed, 17 Dec 2014 00:07:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y16p4-0007zv-GT for qemu-devel@nongnu.org; Wed, 17 Dec 2014 00:07:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34554) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y16p4-0007zo-6j for qemu-devel@nongnu.org; Wed, 17 Dec 2014 00:06:54 -0500 Message-ID: <54910F67.2000804@redhat.com> Date: Wed, 17 Dec 2014 06:06:47 +0100 From: Laszlo Ersek MIME-Version: 1.0 References: <1418399932-7658-1-git-send-email-lersek@redhat.com> <1418399932-7658-2-git-send-email-lersek@redhat.com> <20141216134858.GD3283@hawk.usersys.redhat.com> <5490815E.8@redhat.com> <54908CB6.8030501@redhat.com> <549090D8.5010006@redhat.com> <549098D2.5020001@redhat.com> In-Reply-To: <549098D2.5020001@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 1/8] fw_cfg: max access size and region size are the same for MMIO data reg List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Andrew Jones Cc: peter.maydell@linaro.org, Alexander Graf , qemu-devel@nongnu.org On 12/16/14 21:40, Paolo Bonzini wrote: > On 16/12/2014 21:06, Laszlo Ersek wrote: >> You flipped the combined ops to LE in commit 6fdf98f2 (and, apparently, >> I reviewed it). Shouldn't we do the same for the standalone selector? > > No. The standalone selector is used as MMIO, and the BE platforms > expect the platform to be big-endian. The combined ops are only used on > ISA ports, where the firmware expects them to be little-endian (as > mentioned in the commit message). > > That said, the standalone selector is used by BE platforms only, so we > know that the standalone selector is always DEVICE_BIG_ENDIAN. This series exposes the standalone selector (as MMIO) to ARM guests as well; and in "Documentation/devicetree/bindings/arm/fw-cfg.txt" for the kernel I'm saying that the selector is little endian. Therefore I think that the standalone selector is not only (going to be) used by BE platforms (or I don't understand your above statement correctly). But, the current (and to be preserved) NATIVE_ENDIAN setting still matches what I say in "Documentation/devicetree/bindings/arm/fw-cfg.txt", because, Peter said: > NATIVE_ENDIAN means "same order as the CPU's main data bus's natural > representation". (Note that this is not necessarily the same as "the > endianness the CPU currently has"; on ARM you can flip the CPU between > LE and BE at runtime, which is basically inserting a byte-swizzling > step between data accesses and the CPU's data bus, which is always LE > for ARMv7+.) In other words, the standalone selector is NATIVE_ENDIAN, but in the description of the *ARM* bindings, we can simply say that it's little endian. Is that right? Thanks Laszlo > > So if you want, you can make the standalone selector and the standalone > datum BE and swap them in the firmware. If the suggestion doesn't make > you jump up and down, I understand that. :) > > Paolo >