summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/entry_32.S
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2020-07-16 11:35:22 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2020-07-23 17:43:23 +1000
commit2384b36f9156c3b815a5ce5f694edc5054ab7625 (patch)
tree1c899ff71242c1660cdf826f87bd1136898fb1d8 /arch/powerpc/kernel/entry_32.S
parent147c13413c04bc6a2bd76f2503402905e5e98cff (diff)
downloadlwn-2384b36f9156c3b815a5ce5f694edc5054ab7625.tar.gz
lwn-2384b36f9156c3b815a5ce5f694edc5054ab7625.zip
powerpc: Select ARCH_HAS_MEMBARRIER_SYNC_CORE
powerpc return from interrupt and return from system call sequences are context synchronising. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200716013522.338318-1-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kernel/entry_32.S')
-rw-r--r--arch/powerpc/kernel/entry_32.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 217ebdf5b00b..f4d0af8e1136 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -36,6 +36,12 @@
#include "head_32.h"
/*
+ * powerpc relies on return from interrupt/syscall being context synchronising
+ * (which rfi is) to support ARCH_HAS_MEMBARRIER_SYNC_CORE without additional
+ * synchronisation instructions.
+ */
+
+/*
* Align to 4k in order to ensure that all functions modyfing srr0/srr1
* fit into one page in order to not encounter a TLB miss between the
* modification of srr0/srr1 and the associated rfi.