arch: arm: Add dmb macro
Add dmb macro for data barriers.
CRs-Fixed: 643324
Change-Id: I9386371f2fbaa27260f5fb52739f2f10f976c2e1
diff --git a/arch/arm/include/arch/defines.h b/arch/arm/include/arch/defines.h
index f1e5228..55eba02 100644
--- a/arch/arm/include/arch/defines.h
+++ b/arch/arm/include/arch/defines.h
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2008 Travis Geiselbrecht
*
- * Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files
@@ -44,8 +44,10 @@
#if ARM_ISA_ARMV7
#define dsb() __asm__ volatile ("dsb" : : : "memory");
+#define dmb() __asm__ volatile ("dmb" : : : "memory");
#elif ARM_ISA_ARMV6
#define dsb() __asm__ volatile ("mcr p15, 0, %0, c7, c10, 4" : : "r" (0): "memory");
+#define dmb() __asm__ volatile ("mcr p15, 0, %0, c7, c10, 5" : : "r" (0): "memory");
#endif
#define GET_CAHE_LINE_START_ADDR(addr) ROUNDDOWN(addr, CACHE_LINE)