Subject: Re: unrecoverable exception on G5 with CONFIG_PPC_EARLY_DEBUG enabled

From: Michael Ellerman <[email-masked]>
Date: Tue, 21 Jun 2016 10:59:44 +1000

On Mon, 2016-06-20 at 15:51 +0530, Aneesh Kumar K.V wrote:
> Michael Ellerman <[email-masked]> writes:
> > diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
> > index 4c9440629128..8bcc1b457115 100644
> > --- a/arch/powerpc/kernel/exceptions-64s.S
> > +++ b/arch/powerpc/kernel/exceptions-64s.S
> > @@ -1399,11 +1399,12 @@ END_MMU_FTR_SECTION_IFCLR(MMU_FTR_RADIX)
> >  	lwz	r9,PACA_EXSLB+EX_CCR(r13)	/* get saved CR */
> > 
> >  	mtlr	r10
> > -BEGIN_MMU_FTR_SECTION
> > -	b	2f
> > -END_MMU_FTR_SECTION_IFSET(MMU_FTR_RADIX)
> >  	andi.	r10,r12,MSR_RI	/* check for unrecoverable exception */
> > +BEGIN_MMU_FTR_SECTION
> >  	beq-	2f
> > +FTR_SECTION_ELSE
> > +	b	2f
> > +ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_RADIX)
> > 
> >  .machine	push
> >  .machine	"power4"
> 
> I sent a patch which should get this problem fixed.
> 
> http://mid.gmane.org/[email-masked]

Well s/fixed/avoided/.

I'd rather we fixed the root cause, which is that the SLB miss handler is broken
until code patching happens. When possible we should write feature sections so
that the unpatched code is functional, to avoid problems like this.

cheers