On 08/28/2014 11:29 PM, Yao Zhao wrote:
Hi Maxim,
You missed the ";" for arm 2 cases.
Other than that, it does build for yocto's qemuarm now.
yao
Ah, thanks! Will send v2. Will add you to Tested-by:
Maxim.
------------------------------------------------------------------------
*From:* Maxim Uvarov <[email protected]>
*Sent:* Thursday, August 28, 2014 12:54PM
*To:* [email protected]
*Cc:* Maxim Uvarov <[email protected]>, Zhao, Yao
*Subject:* [PATCH] arm: do not use dmb for armv5
Original bug:
https://bugs.linaro.org/show_bug.cgi?id=355
Armv5 fails on compilation dmb instuction.
Use the same thing like linux kernel does.
CC: Yao Zhao<[email protected]>
Signed-off-by: Maxim Uvarov<[email protected]>
---
Hi Yao,
Can you please test this patch?
Thank you,
Maxim.
platform/linux-generic/include/api/odp_sync.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/platform/linux-generic/include/api/odp_sync.h
b/platform/linux-generic/include/api/odp_sync.h
index 9cf4d46..89bd307 100644
--- a/platform/linux-generic/include/api/odp_sync.h
+++ b/platform/linux-generic/include/api/odp_sync.h
@@ -31,9 +31,16 @@ static inline void odp_sync_stores(void)
__asm__ __volatile__ ("sfence\n" : : : "memory");
-#elif defined __arm__ || defined __aarch64__
+#elif defined(__arm__)
+#if __ARM_ARCH == 6
+ __asm__ __volatile__ ("mcr p15, 0, %0, c7, c10, 5" \
+ : : "r" (0) : "memory")
+#elif __ARM_ARCH >= 7 || defined __aarch64__
__asm__ __volatile__ ("dmb st" : : : "memory");
+#else
+ __asm__ __volatile__ ("" : : : "memory")
+#endif
#elif defined __OCTEON__
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp