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)