1config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
2	bool
3	# On ARM, it needs virtualization extensions and little endian CPUs
4	default y if (BR2_arm || BR2_aarch64) && \
5		(BR2_cortex_a7 || BR2_cortex_a12 || \
6		BR2_cortex_a15 || BR2_cortex_a15_a7 || \
7		BR2_cortex_a17 || BR2_cortex_a17_a7 || \
8		BR2_cortex_a55 || BR2_cortex_a75 || \
9		BR2_cortex_a75_a55 || BR2_cortex_a76 || \
10		BR2_cortex_a76_a55)
11	default y if BR2_i386 || BR2_x86_64
12	default y if BR2_powerpc64 || BR2_powerpc64le
13	default y if BR2_s390x
14
15config BR2_PACKAGE_KVM_UNIT_TESTS
16	bool "kvm-unit-tests"
17	depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
18	# on i386 and x86-64, __builtin_reachable is used, so we need
19	# gcc 4.5 at least. on i386, we use the target gcc, while on
20	# x86-64 we use the host gcc (see .mk file for details)
21	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
22	depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64
23	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64
24	help
25	  kvm-unit-tests is a project as old as KVM. As its name
26	  suggests, it's purpose is to provide unit tests for KVM. The
27	  unit tests are tiny guest operating systems that generally
28	  execute only tens of lines of C and assembler test code in
29	  order to obtain its PASS/FAIL result. Unit tests provide KVM
30	  and virt hardware functional testing by targeting the
31	  features through minimal implementations of their use per
32	  the hardware specification. The simplicity of unit tests
33	  make them easy to verify they are correct, easy to maintain,
34	  and easy to use in timing measurements. Unit tests are also
35	  often used for quick and dirty bug reproducers. The
36	  reproducers may then be kept as regression tests.  It's
37	  strongly encouraged that patches implementing new KVM
38	  features are submitted with accompanying unit tests.
39
40	  http://www.linux-kvm.org/page/KVM-unit-tests
41
42comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5"
43	depends on BR2_i386
44	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
45