Added F-Stack FreeBSD support (This is a part of the research work at RCSLab, University of Waterloo)

This commit is contained in:
hao 2022-05-31 19:46:09 -04:00 committed by fengbojiang
parent a3702d0636
commit 226c290ccc
1 changed files with 27 additions and 0 deletions

View File

@ -20,6 +20,22 @@ typedef cpuset_t rte_cpuset_t;
#define RTE_HAS_CPUSET #define RTE_HAS_CPUSET
#ifdef RTE_EAL_FREEBSD_CPUSET_LEGACY #ifdef RTE_EAL_FREEBSD_CPUSET_LEGACY
#if __FreeBSD_version >= 1301000
#define RTE_CPU_AND(dst, src1, src2) do \
{ \
cpuset_t tmp; \
CPU_COPY(src1, &tmp); \
CPU_AND(&tmp, &tmp, src2); \
CPU_COPY(&tmp, dst); \
} while (0)
#define RTE_CPU_OR(dst, src1, src2) do \
{ \
cpuset_t tmp; \
CPU_COPY(src1, &tmp); \
CPU_OR(&tmp, &tmp, src2); \
CPU_COPY(&tmp, dst); \
} while (0)
#else
#define RTE_CPU_AND(dst, src1, src2) do \ #define RTE_CPU_AND(dst, src1, src2) do \
{ \ { \
cpuset_t tmp; \ cpuset_t tmp; \
@ -34,6 +50,7 @@ typedef cpuset_t rte_cpuset_t;
CPU_OR(&tmp, src2); \ CPU_OR(&tmp, src2); \
CPU_COPY(&tmp, dst); \ CPU_COPY(&tmp, dst); \
} while (0) } while (0)
#endif
#define RTE_CPU_FILL(set) CPU_FILL(set) #define RTE_CPU_FILL(set) CPU_FILL(set)
/* In FreeBSD 13 CPU_NAND macro is CPU_ANDNOT */ /* In FreeBSD 13 CPU_NAND macro is CPU_ANDNOT */
@ -46,6 +63,15 @@ typedef cpuset_t rte_cpuset_t;
CPU_COPY(&tmp, dst); \ CPU_COPY(&tmp, dst); \
} while (0) } while (0)
#else #else
#if __FreeBSD_version >= 1301000
#define RTE_CPU_NOT(dst, src) do \
{ \
cpuset_t tmp; \
CPU_FILL(&tmp); \
CPU_ANDNOT(&tmp, &tmp, src); \
CPU_COPY(&tmp, dst); \
} while (0)
#else
#define RTE_CPU_NOT(dst, src) do \ #define RTE_CPU_NOT(dst, src) do \
{ \ { \
cpuset_t tmp; \ cpuset_t tmp; \
@ -53,6 +79,7 @@ typedef cpuset_t rte_cpuset_t;
CPU_ANDNOT(&tmp, src); \ CPU_ANDNOT(&tmp, src); \
CPU_COPY(&tmp, dst); \ CPU_COPY(&tmp, dst); \
} while (0) } while (0)
#endif
#endif /* CPU_NAND */ #endif /* CPU_NAND */
#else /* RTE_EAL_FREEBSD_CPUSET_LEGACY */ #else /* RTE_EAL_FREEBSD_CPUSET_LEGACY */