Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+15 −17
Original line number Original line Diff line number Diff line
@@ -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()