powerpc/64s: Fix ps3 build error due to tlbiel_all()
authorMichael Ellerman <mpe@ellerman.id.au>
Fri, 19 Jan 2018 04:20:12 +0000 (15:20 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 19 Jan 2018 11:36:45 +0000 (22:36 +1100)
The recent changes to TLB handling broke the PS3 build:

  arch/powerpc/include/asm/book3s/64/tlbflush.h:30: undefined reference to `.hash__tlbiel_all'

Fix it by adding an fallback version of tlbiel_all() for non-native
builds. It should never be called, due to checks in callers so it
calls BUG(). We should probably clean it up further but this will
suffice for now.

Fixes: d4748276ae14 ("powerpc/64s: Improve local TLB flush for boot and MCE on POWER9")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/tlbflush.h

index 9befb4d..0cac172 100644 (file)
@@ -14,6 +14,7 @@ enum {
        TLB_INVAL_SCOPE_LPID = 1,       /* invalidate TLBs for current LPID */
 };
 
+#ifdef CONFIG_PPC_NATIVE
 static inline void tlbiel_all(void)
 {
        /*
@@ -29,6 +30,9 @@ static inline void tlbiel_all(void)
        else
                hash__tlbiel_all(TLB_INVAL_SCOPE_GLOBAL);
 }
+#else
+static inline void tlbiel_all(void) { BUG(); };
+#endif
 
 static inline void tlbiel_all_lpid(bool radix)
 {