diff mbox series

powerpc/64s: Fix ps3 build error due to tlbiel_all()

Message ID 20180119085531.7708-1-mpe@ellerman.id.au (mailing list archive)
State Accepted
Commit 7a074fc08389f43b448ebef74bf56ba0f6f087d9
Headers show
Series powerpc/64s: Fix ps3 build error due to tlbiel_all() | expand

Commit Message

Michael Ellerman Jan. 19, 2018, 8:55 a.m. UTC
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 | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Michael Ellerman Jan. 22, 2018, 3:34 a.m. UTC | #1
On Fri, 2018-01-19 at 08:55:31 UTC, Michael Ellerman wrote:
> 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>

Applied to powerpc next.

https://git.kernel.org/powerpc/c/7a074fc08389f43b448ebef74bf56b

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush.h b/arch/powerpc/include/asm/book3s/64/tlbflush.h
index 9befb4df235c..0cac17253513 100644
--- a/arch/powerpc/include/asm/book3s/64/tlbflush.h
+++ b/arch/powerpc/include/asm/book3s/64/tlbflush.h
@@ -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)
 {