config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
	bool
	# On ARM, it uses virtualization extensions
	default y if BR2_cortex_a7 || BR2_cortex_a12 || \
		BR2_cortex_a15 || BR2_cortex_a15_a7 || \
		BR2_cortex_a17 || BR2_cortex_a17_a7
	default y if BR2_i386 || BR2_x86_64
	default y if BR2_powerpc64 || BR2_powerpc64le

config BR2_PACKAGE_KVM_UNIT_TESTS
	bool "kvm-unit-tests"
	depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
	# on i386 and x86-64, __builtin_reachable is used, so we need
	# gcc 4.5 at least. on i386, we use the target gcc, while on
	# x86-64 we use the host gcc (see .mk file for details)
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
	depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64
	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64=y
	help
	  kvm-unit-tests is a project as old as KVM. As its name
	  suggests, it's purpose is to provide unit tests for KVM. The
	  unit tests are tiny guest operating systems that generally
	  execute only tens of lines of C and assembler test code in
	  order to obtain its PASS/FAIL result. Unit tests provide KVM
	  and virt hardware functional testing by targeting the
	  features through minimal implementations of their use per
	  the hardware specification. The simplicity of unit tests
	  make them easy to verify they are correct, easy to maintain,
	  and easy to use in timing measurements. Unit tests are also
	  often used for quick and dirty bug reproducers. The
	  reproducers may then be kept as regression tests.  It's
	  strongly encouraged that patches implementing new KVM
	  features are submitted with accompanying unit tests.

	  http://www.linux-kvm.org/page/KVM-unit-tests

comment "kvm-unit-tests needs a toolchain w/ gcc >= 4.5"
	depends on BR2_i386
	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
