From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNl74-0005yy-Ay for qemu-devel@nongnu.org; Sat, 21 May 2011 08:16:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QNl73-0006Ll-6H for qemu-devel@nongnu.org; Sat, 21 May 2011 08:16:58 -0400 Received: from cantor.suse.de ([195.135.220.2]:51770 helo=mx1.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNl72-0006LV-OB for qemu-devel@nongnu.org; Sat, 21 May 2011 08:16:57 -0400 Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=iso-8859-1 From: Alexander Graf In-Reply-To: <27B8983F-C159-4D58-8F1C-8F608A0E4CD2@web.de> Date: Sat, 21 May 2011 14:16:52 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <1305862499-12328-1-git-send-email-david@gibson.dropbear.id.au> <4645A3FE-8472-4688-9596-4EA973821BFF@web.de> <59FF36D6-4D4B-46BB-8906-27D4B87B1F37@suse.de> <27B8983F-C159-4D58-8F1C-8F608A0E4CD2@web.de> Subject: Re: [Qemu-devel] [PATCH] Fix a bug in mtsr/mtsrin emulation on ppc64 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?iso-8859-1?Q?Andreas_F=E4rber?= Cc: Kenneth Salerno , "paulus@samba.org" , QEMU-devel Developers , David Gibson On 21.05.2011, at 11:39, Andreas F=E4rber wrote: > Am 21.05.2011 um 03:58 schrieb Alexander Graf: >=20 >> Am 21.05.2011 um 00:37 schrieb Andreas F=E4rber = : >>=20 >>> Am 20.05.2011 um 09:40 schrieb Alexander Graf: >>>=20 >>>> On 20.05.2011, at 05:34, David Gibson wrote: >>>>=20 >>>>> Early ppc64 CPUs include a hack to partially simulate the ppc32 = segment >>>>> registers, by translating writes to them into writes to the SLB. = This is >>>>> not used by any current Linux kernel, but it is used by the = openbios used >>>>> in the qemu mac99 model. >>>>>=20 >>>>> Commit 81762d6dd0d430d87024f2c83e9c4dcc4329fb7d, cleaning up the = SLB >>>>> handling introduced a bug in this code, breaking the openbios = currently in >>>>> qemu. Specifically, there was an off by one error bitshuffling = the >>>>> register format used by mtsr into the format needed for the SLB = load, >>>>> causing the flag bits to end up in the wrong place. This caused = the >>>>> storage keys to be wrong under openbios, meaning that the = translation code >>>>> incorrectly thought a legitimate access was a permission = violation. >>>>>=20 >>>>> This patch fixes the bug, at the same time it fixes some build bug = in the >>>>> MMU debugging code (only exposed when DEBUG_MMU is enabled). >>>>=20 >>>> Thanks, applied to ppc-next :) >>>=20 >>> Nack, this does not fix ppc64 for me! How did you test it, Alex??? >>=20 >> I booted a ppc64 kernel on a ppc64 Linux system with tcg and it = booted fine for me. Maybe you're hitting yet another issue? >=20 > Which OpenBIOS did you use? The 32-bit version using mtsrin works now, = but not the 64-bit HEAD version that I attached, which uses slb* = instructions instead. After some debugging, we tracked the 64-bit issue down to a bug in = OpenBIOS, so things are fine in Qemu land now :) Alex