eal/freebsd: update CPU macro for FreeBSD 13
authorBruce Richardson <bruce.richardson@intel.com>
Fri, 3 Jan 2020 11:52:42 +0000 (11:52 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 20 Jan 2020 16:11:48 +0000 (17:11 +0100)
In (currently unreleased) FreeBSD 13, the CPU_NAND macro has been renamed
to CPU_ANDNOT, so we need to use different DPDK-specific macros depending
on what system-defined ones are present.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_eal/freebsd/eal/include/rte_os.h

index a5efe61..eeb750c 100644 (file)
@@ -29,6 +29,9 @@ typedef cpuset_t rte_cpuset_t;
        CPU_COPY(&tmp, dst); \
 } while (0)
 #define RTE_CPU_FILL(set) CPU_FILL(set)
+
+/* In FreeBSD 13 CPU_NAND macro is CPU_ANDNOT */
+#ifdef CPU_NAND
 #define RTE_CPU_NOT(dst, src) do \
 { \
        cpuset_t tmp; \
@@ -36,5 +39,14 @@ typedef cpuset_t rte_cpuset_t;
        CPU_NAND(&tmp, src); \
        CPU_COPY(&tmp, dst); \
 } while (0)
+#else
+#define RTE_CPU_NOT(dst, src) do \
+{ \
+       cpuset_t tmp; \
+       CPU_FILL(&tmp); \
+       CPU_ANDNOT(&tmp, src); \
+       CPU_COPY(&tmp, dst); \
+} while (0)
+#endif
 
 #endif /* _RTE_OS_H_ */