Commit c6f48b0b authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

s390/barrier: cleanup barrier functions

s390 really has no eieio instruction, so get rid of the implied ppc
semantics and in addition change mb() into a function.
Also remove SYNC_OTHER_CORES() since it is unused.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 521674e4
...@@ -11,17 +11,15 @@ ...@@ -11,17 +11,15 @@
* Force strict CPU ordering. * Force strict CPU ordering.
* And yes, this is required on UP too when we're talking * And yes, this is required on UP too when we're talking
* to devices. * to devices.
*
* This is very similar to the ppc eieio/sync instruction in that is
* does a checkpoint syncronisation & makes sure that
* all memory ops have completed wrt other CPU's ( see 7-15 POP DJB ).
*/ */
#define eieio() asm volatile("bcr 15,0" : : : "memory") static inline void mb(void)
#define SYNC_OTHER_CORES(x) eieio() {
#define mb() eieio() asm volatile("bcr 15,0" : : : "memory");
#define rmb() eieio() }
#define wmb() eieio()
#define rmb() mb()
#define wmb() mb()
#define read_barrier_depends() do { } while(0) #define read_barrier_depends() do { } while(0)
#define smp_mb() mb() #define smp_mb() mb()
#define smp_rmb() rmb() #define smp_rmb() rmb()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment