unrecoverable exception on G5 with CONFIG_PPC_EARLY_DEBUG enabled
Michael Ellerman
mpe at ellerman.id.au
Thu Jun 16 22:07:10 AEST 2016
On Thu, 2016-06-16 at 11:12 +0300, Denis Kirjanov wrote:
> On 6/6/16, Michael Ellerman <mpe at ellerman.id.au> wrote:
> > On Mon, 2016-06-06 at 10:52 +0300, Denis Kirjanov wrote:
> > > I haven't bisected this yet. Photo attached.
> >
> > A bisect would be awesome.
>
> Ok, the issue was introduced by the commit
> caca285e5ab4a7a19fede51688106ceed6fc45dd (powerpc/mm/radix: Use
> STD_MMU_64 to properly isolate hash related code) and 970mp dies on
> the following condition:
> +BEGIN_MMU_FTR_SECTION
> bl slb_allocate_realmode
> -
> +END_MMU_FTR_SECTION_IFCLR(MMU_FTR_RADIX)
Thanks.
How did you work that out?
That FTR section says to call slb_allocate_realmode() when MMU_FTR_RADIX is
clear (ie. zero). That should always be the case on your machine, unless you've
plugged a Power9 into your G5 ;)
> In my config I've enabled radix MMU lookup but in my understanding
> only recent IBM machines support this feature and we have to call SLB
> entry through slb_allocate_realmode on HPTE machine?
That's right, and that's what the code should be doing.
My G5 is booting OK:
michael at cogito:~$ uname -a
Linux cogito 4.7.0-rc3-gdb06d75 #1 SMP Thu Jun 16 05:16:31 AEST 2016 ppc64 GNU/Linux
michael at cogito:~$ cat /proc/cpuinfo
processor : 0
cpu : PPC970FX, altivec supported
clock : 1599.999000MHz
revision : 3.0 (pvr 003c 0300)
timebase : 33333333
platform : PowerMac
model : PowerMac8,1
machine : PowerMac8,1
motherboard : PowerMac8,1 MacRISC4 Power Macintosh
detected as : 338 (iMac G5)
pmac flags : 00000000
L2 cache : 512K unified
pmac-generation : NewWorld
michael at cogito:~$ zgrep RADIX /proc/config.gz
CONFIG_PPC_RADIX_MMU=y
michael at cogito:~$ dmesg|grep _features
[ 0.000000] cpu_features = 0x0804806318100448
[ 0.000000] cpu_user_features = 0xdc080000 0x00000000
[ 0.000000] mmu_features = 0x0c000001
[ 0.000000] firmware_features = 0x0000000000000000
In particular notice:
#define MMU_FTR_RADIX ASM_CONST(0x80000000)
mmu_features = 0x0c000001
ie. MMU_FTR_RADIX is clear.
Do you see a different value for mmu_features?
cheers
More information about the Linuxppc-dev
mailing list