1config BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS
2	bool
3	# Accurate cycle measurement in perftest is implemented for a
4	# limited set of architectures, see:
5	# https://github.com/linux-rdma/perftest/blob/v4.5-0.20/src/get_clock.h
6	# Note: the package has also a fallback to use "asm/timex.h"
7	# from the Kernel, in
8	# "$(LINUX_DIR)/arch/$(KERNEL_ARCH)/include". It is not
9	# reflected here as this path is not well tested.
10	default y if BR2_i386 || BR2_x86_64
11	default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 && !BR2_ARM_CPU_ARMV6
12	default y if BR2_aarch64
13	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
14	default y if BR2_s390x
15	default y if BR2_sparc || BR2_sparc64
16	default y if BR2_riscv
17	depends on BR2_USE_MMU # rdma-core
18	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # rdma-core
19
20config BR2_PACKAGE_PERFTEST
21	bool "perftest"
22	depends on BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS
23	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # rdma-core
24	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # rdma-core
25	depends on !BR2_STATIC_LIBS # rdma-core
26	# musl does not define sysconf(_SC_LEVEL1_DCACHE_LINESIZE)
27	depends on !BR2_TOOLCHAIN_USES_MUSL
28	select BR2_PACKAGE_PCIUTILS
29	select BR2_PACKAGE_RDMA_CORE
30	help
31	  Open Fabrics Performance Tests.
32
33	  This is a collection of tests written over uverbs intended
34	  for use as a performance micro-benchmark. The tests may be
35	  used for HW or SW tuning as well as for functional testing.
36
37	  https://github.com/linux-rdma/perftest
38
39comment "perftest needs a glibc or uClibc toolchain w/ threads, dynamic library"
40	depends on BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS
41	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
42		|| BR2_TOOLCHAIN_USES_MUSL
43