On 21.05.2011, at 11:39, Andreas Färber wrote: > Am 21.05.2011 um 03:58 schrieb Alexander Graf: > >> Am 21.05.2011 um 00:37 schrieb Andreas Färber <andreas.faer...@web.de>: >> >>> Am 20.05.2011 um 09:40 schrieb Alexander Graf: >>> >>>> On 20.05.2011, at 05:34, David Gibson wrote: >>>> >>>>> 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. >>>>> >>>>> 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. >>>>> >>>>> 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). >>>> >>>> Thanks, applied to ppc-next :) >>> >>> Nack, this does not fix ppc64 for me! How did you test it, Alex??? >> >> 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? > > 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.
Ah, I see. I tested the binary that's in pc-bios, so the 32-bit version obviously. So your 64-bit build regresses? Alex