New upstream version 18.08
[deb_dpdk.git] / drivers / bus / fslmc / qbman / qbman_sys_decl.h
index f82bb18..fa6977f 100644 (file)
@@ -15,6 +15,7 @@
        /****************/
        /* arch assists */
        /****************/
+#if defined(RTE_ARCH_ARM64)
 #define dcbz(p) { asm volatile("dc zva, %0" : : "r" (p) : "memory"); }
 #define lwsync() { asm volatile("dmb st" : : : "memory"); }
 #define dcbf(p) { asm volatile("dc cvac, %0" : : "r"(p) : "memory"); }
@@ -28,3 +29,25 @@ static inline void prefetch_for_store(void *p)
 {
        asm volatile("prfm pstl1keep, [%0, #0]" : : "r" (p));
 }
+#elif defined(RTE_ARCH_ARM)
+#define dcbz(p) memset(p, 0, 64)
+#define lwsync() { asm volatile("dmb st" : : : "memory"); }
+#define dcbf(p)        RTE_SET_USED(p)
+#define dccivac(p)     RTE_SET_USED(p)
+#define prefetch_for_load(p) { asm volatile ("pld [%0]" : : "r" (p)); }
+#define prefetch_for_store(p) { asm volatile ("pld [%0]" : : "r" (p)); }
+
+#else
+#define dcbz(p)        RTE_SET_USED(p)
+#define lwsync()
+#define dcbf(p)        RTE_SET_USED(p)
+#define dccivac(p)     RTE_SET_USED(p)
+static inline void prefetch_for_load(void *p)
+{
+       RTE_SET_USED(p);
+}
+static inline void prefetch_for_store(void *p)
+{
+       RTE_SET_USED(p);
+}
+#endif