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