mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xen: arm: consolidate barrier definitions
These are effectively identical on both 32- and 64-bit. The only difference is that they implicit "sy" on 32-bit becomes explicit. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
1 parent
d6bed3ddd7
commit
b51602fb39
3 files changed
+16
-33
No files matched your search
@@ -2,22 +2,6 @@
|
||||
#ifndef __ASM_ARM32_SYSTEM_H
|
||||
#define __ASM_ARM32_SYSTEM_H
|
||||
|
||||
#define sev() __asm__ __volatile__ ("sev" : : : "memory")
|
||||
#define wfe() __asm__ __volatile__ ("wfe" : : : "memory")
|
||||
#define wfi() __asm__ __volatile__ ("wfi" : : : "memory")
|
||||
|
||||
#define isb() __asm__ __volatile__ ("isb" : : : "memory")
|
||||
#define dsb() __asm__ __volatile__ ("dsb" : : : "memory")
|
||||
#define dmb() __asm__ __volatile__ ("dmb" : : : "memory")
|
||||
|
||||
#define mb() dsb()
|
||||
#define rmb() dsb()
|
||||
#define wmb() mb()
|
||||
|
||||
#define smp_mb() mb()
|
||||
#define smp_rmb() rmb()
|
||||
#define smp_wmb() wmb()
|
||||
|
||||
extern void __bad_xchg(volatile void *, int);
|
||||
|
||||
static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
|
||||
|
||||
@@ -2,23 +2,6 @@
|
||||
#ifndef __ASM_ARM64_SYSTEM_H
|
||||
#define __ASM_ARM64_SYSTEM_H
|
||||
|
||||
#define sev() asm volatile("sev" : : : "memory")
|
||||
#define wfe() asm volatile("wfe" : : : "memory")
|
||||
#define wfi() asm volatile("wfi" : : : "memory")
|
||||
|
||||
#define isb() asm volatile("isb" : : : "memory")
|
||||
#define dsb() asm volatile("dsb sy" : : : "memory")
|
||||
#define dmb() asm volatile("dmb sy" : : : "memory")
|
||||
|
||||
#define mb() dsb()
|
||||
#define rmb() dsb()
|
||||
#define wmb() mb()
|
||||
|
||||
#define smp_mb() mb()
|
||||
#define smp_rmb() rmb()
|
||||
#define smp_wmb() wmb()
|
||||
|
||||
|
||||
extern void __bad_xchg(volatile void *, int);
|
||||
|
||||
static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
|
||||
|
||||
@@ -8,6 +8,22 @@
|
||||
#define nop() \
|
||||
asm volatile ( "nop" )
|
||||
|
||||
#define sev() asm volatile("sev" : : : "memory")
|
||||
#define wfe() asm volatile("wfe" : : : "memory")
|
||||
#define wfi() asm volatile("wfi" : : : "memory")
|
||||
|
||||
#define isb() asm volatile("isb" : : : "memory")
|
||||
#define dsb() asm volatile("dsb sy" : : : "memory")
|
||||
#define dmb() asm volatile("dmb sy" : : : "memory")
|
||||
|
||||
#define mb() dsb()
|
||||
#define rmb() dsb()
|
||||
#define wmb() mb()
|
||||
|
||||
#define smp_mb() mb()
|
||||
#define smp_rmb() rmb()
|
||||
#define smp_wmb() wmb()
|
||||
|
||||
#define xchg(ptr,x) \
|
||||
((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
|
||||
|
||||
|
||||