Kernel 4.1.28: Update TM user feature bits in scan_features()

Michael Ellerman mpe at ellerman.id.au
Thu Jul 14 21:10:34 AEST 2016


Christian Zigotzky <chzigotzky at bayern-mail.de> writes:

> Hi All,
>
> I tried to compile the kernel 4.1.28 today. Unfortunately it doesn't 
> compile because of an undeclared variable PPC_FEATURE2_HTM_NOSC_COMP.
>
> Error message:
>
>    CHK     include/config/kernel.release
>    CHK     include/generated/uapi/linux/version.h
>    CHK     include/generated/utsrelease.h
>    CHK     include/generated/bounds.h
>    CHK     include/generated/asm-offsets.h
>    CALL    scripts/checksyscalls.sh
>    CHK     include/generated/compile.h
>    CALL    arch/powerpc/kernel/systbl_chk.sh
>    CC      arch/powerpc/kernel/prom.o
> arch/powerpc/kernel/prom.c:170:25: error: 'PPC_FEATURE2_HTM_NOSC_COMP' 
> undeclared here (not in a function)
>     PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0},
>                           ^
> make[1]: *** [arch/powerpc/kernel/prom.o] Error 1
> make: *** [arch/powerpc/kernel] Error 2
>
> ---
>
> Commit:
>
> f49eb503f0f9ab66874a81992b14249a1c59b6ad
> Author: Anton Blanchard <anton at samba.org>
> Date:   Fri Apr 15 12:08:19 2016 +1000
>
>      powerpc: Update TM user feature bits in scan_features()
>
>      [ Upstream commit 4705e02498d6d5a7ab98dfee9595cd5e91db2017 ]
>
>      We need to update the user TM feature bits (PPC_FEATURE2_HTM and
>      PPC_FEATURE2_HTM) to mirror what we do with the kernel TM feature
>      bit.
>
>      At the moment, if firmware reports TM is not available we turn off
>      the kernel TM feature bit but leave the userspace ones on. Userspace
>      thinks it can execute TM instructions and it dies trying.
>
>      This (together with a QEMU patch) fixes PR KVM, which doesn't currently
>      support TM.
>
>      Signed-off-by: Anton Blanchard <anton at samba.org>
>      Cc: stable at vger.kernel.org
>      Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
>      Signed-off-by: Sasha Levin <sasha.levin at oracle.com>
>
> ---
>
> PPC_FEATURE2_HTM_NOSC_COMP isn't defined or doesn't exist in the 
> following files:

Thanks.

> arch/powerpc/include/asm/cputable.h
> arch/powerpc/kernel/cputable.c
> arch/powerpc/include/uapi/asm/tm.h
>
> That means the following patches aren't included in the 4.1.28 source code:

Sorry that's the wrong fix.

PPC_FEATURE2_HTM_NOSC indicates the presence of a certain kernel
behaviour, which has *not* been backported to 4.1.

The right fix is just to remove the reference to PPC_FEATURE2_HTM_NOSC
in 4.1.28.

eg:

diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 28dbbb0d12c4..9b19d96e9562 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -166,8 +166,7 @@ static struct ibm_pa_feature {
 	 * we don't want to turn on TM here, so we use the *_COMP versions
 	 * which are 0 if the kernel doesn't support TM.
 	 */
-	{CPU_FTR_TM_COMP, 0, 0,
-	 PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0},
+	{CPU_FTR_TM_COMP, 0, 0, PPC_FEATURE2_HTM_COMP, 22, 0, 0},
 };
 
 static void __init scan_features(unsigned long node, const unsigned char *ftrs,



cheers


More information about the Linuxppc-dev mailing list