diff options
Diffstat (limited to 'src/vppinfra')
-rw-r--r-- | src/vppinfra/perfmon/perfmon.h | 20 | ||||
-rw-r--r-- | src/vppinfra/test/test.h | 18 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/vppinfra/perfmon/perfmon.h b/src/vppinfra/perfmon/perfmon.h index d940921d6bf..5b904a632e3 100644 --- a/src/vppinfra/perfmon/perfmon.h +++ b/src/vppinfra/perfmon/perfmon.h @@ -68,6 +68,7 @@ extern clib_perfmon_main_t clib_perfmon_main; static_always_inline void clib_perfmon_ioctl (int fd, u32 req) { +#ifdef __linux__ #ifdef __x86_64__ asm volatile("syscall" : @@ -76,6 +77,7 @@ clib_perfmon_ioctl (int fd, u32 req) #else ioctl (fd, req, PERF_IOC_FLAG_GROUP); #endif +#endif /* linux */ } clib_error_t *clib_perfmon_init_by_bundle_name (clib_perfmon_ctx_t *ctx, @@ -87,6 +89,7 @@ u64 *clib_perfmon_capture (clib_perfmon_ctx_t *ctx, u32 n_ops, char *fmt, ...); void clib_perfmon_capture_group (clib_perfmon_ctx_t *ctx, char *fmt, ...); format_function_t format_perfmon_bundle; +#ifdef __linux__ static_always_inline void clib_perfmon_reset (clib_perfmon_ctx_t *ctx) { @@ -102,6 +105,23 @@ clib_perfmon_disable (clib_perfmon_ctx_t *ctx) { clib_perfmon_ioctl (ctx->group_fd, PERF_EVENT_IOC_DISABLE); } +#elif __FreeBSD__ +static_always_inline void +clib_perfmon_reset (clib_perfmon_ctx_t *ctx) +{ + /* TODO: Implement for FreeBSD */ +} +static_always_inline void +clib_perfmon_enable (clib_perfmon_ctx_t *ctx) +{ + /* TODO: Implement for FreeBSD */ +} +static_always_inline void +clib_perfmon_disable (clib_perfmon_ctx_t *ctx) +{ + /* TODO: Implement for FreeBSD */ +} +#endif /* linux */ #define CLIB_PERFMON_BUNDLE(x) \ static clib_perfmon_bundle_reg_t clib_perfmon_bundle_reg_##x; \ diff --git a/src/vppinfra/test/test.h b/src/vppinfra/test/test.h index a0e5f6db669..8d756366163 100644 --- a/src/vppinfra/test/test.h +++ b/src/vppinfra/test/test.h @@ -84,6 +84,7 @@ extern test_main_t test_main; __VA_ARGS__, {} \ } +#ifdef __linux__ static_always_inline void test_perf_event_reset (test_perf_t *t) { @@ -99,6 +100,23 @@ test_perf_event_disable (test_perf_t *t) { clib_perfmon_ioctl (t->fd, PERF_EVENT_IOC_DISABLE); } +#elif __FreeBSD__ +static_always_inline void +test_perf_event_reset (test_perf_t *t) +{ + /* TODO: Implement for FreeBSD */ +} +static_always_inline void +test_perf_event_enable (test_perf_t *t) +{ + /* TODO: Implement for FreeBSD */ +} +static_always_inline void +test_perf_event_disable (test_perf_t *t) +{ + /* TODO: Implement for FreeBSD */ +} +#endif void *test_mem_alloc (uword size); void *test_mem_alloc_and_fill_inc_u8 (uword size, u8 start, u8 mask); |