Christophe Leroy <christophe.leroy@xxxxxx> writes: > diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S > index 90ef355e958b..3be041166db4 100644 > --- a/arch/powerpc/kernel/head_32.S > +++ b/arch/powerpc/kernel/head_32.S > @@ -272,14 +272,20 @@ __secondary_hold_acknowledge: > */ > . = 0x200 > DO_KVM 0x200 > +MachineCheck: > EXCEPTION_PROLOG_0 > +#ifdef CONFIG_VMAP_STACK > + li r11, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ > + mtmsr r11 > +#endif > #ifdef CONFIG_PPC_CHRP > mfspr r11, SPRN_SPRG_THREAD > + tovirt_vmstack(r11, r11) This didn't build: arch/powerpc/kernel/head_32.S:283: Error: syntax error; found `r', expected `,' arch/powerpc/kernel/head_32.S:283: Error: found 'r', expected: ')' arch/powerpc/kernel/head_32.S:283: Error: bad expression arch/powerpc/kernel/head_32.S:283: Error: junk at end of line: `r11,%r11),0xc0000000@h' I fixed it by dropping the brackets. cheers