diff options
Diffstat (limited to 'arch/arm/include/asm/assembler.h')
| -rw-r--r-- | arch/arm/include/asm/assembler.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 6116e4893c0a..15f8a092b700 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h | |||
| @@ -114,3 +114,16 @@ | |||
| 114 | .align 3; \ | 114 | .align 3; \ |
| 115 | .long 9999b,9001f; \ | 115 | .long 9999b,9001f; \ |
| 116 | .previous | 116 | .previous |
| 117 | |||
| 118 | /* | ||
| 119 | * SMP data memory barrier | ||
| 120 | */ | ||
| 121 | .macro smp_dmb | ||
| 122 | #ifdef CONFIG_SMP | ||
| 123 | #if __LINUX_ARM_ARCH__ >= 7 | ||
| 124 | dmb | ||
| 125 | #elif __LINUX_ARM_ARCH__ == 6 | ||
| 126 | mcr p15, 0, r0, c7, c10, 5 @ dmb | ||
| 127 | #endif | ||
| 128 | #endif | ||
| 129 | .endm | ||
