[LTP] [PATCH v1] kvm: Add needs_driver support to check for kvm driver

Petr Vorel pvorel@suse.cz
Wed Jan 28 22:03:46 CET 2026


Hi all,

> This patch adds needs_driver field in kvm testcases to check for kvm driver

@Kushal Thanks for your patch. very nit: s/needs_driver/needs_drivers/
(can be changed before merge).

Implements: https://github.com/linux-test-project/ltp/issues/1219

@Martin Is it enough to have kvm driver? Or do tests depend on any of specific
kvm kernel config options (not only from virt/kvm/Kconfig, but arch dependent
configs e.g.  CONFIG_KVM_GUEST=y from arch/x86/Kconfig ?)

Kind regards,
Petr

> Signed-off-by: Kushal Chand K <kushalkataria5@gmail.com>
> ---
>  testcases/kernel/kvm/kvm_pagefault01.c | 4 ++++
>  testcases/kernel/kvm/kvm_svm01.c       | 4 ++++
>  testcases/kernel/kvm/kvm_svm02.c       | 4 ++++
>  testcases/kernel/kvm/kvm_svm03.c       | 4 ++++
>  testcases/kernel/kvm/kvm_svm04.c       | 4 ++++
>  testcases/kernel/kvm/kvm_vmx01.c       | 4 ++++
>  testcases/kernel/kvm/kvm_vmx02.c       | 4 ++++
>  7 files changed, 28 insertions(+)

> diff --git a/testcases/kernel/kvm/kvm_pagefault01.c b/testcases/kernel/kvm/kvm_pagefault01.c
> index db526cb7e..2b477f7af 100644
> --- a/testcases/kernel/kvm/kvm_pagefault01.c
> +++ b/testcases/kernel/kvm/kvm_pagefault01.c
> @@ -165,6 +165,10 @@ static struct tst_test test = {
>  	.setup = setup,
>  	.cleanup = tst_kvm_cleanup,
>  	.needs_root = 1,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		NULL
> diff --git a/testcases/kernel/kvm/kvm_svm01.c b/testcases/kernel/kvm/kvm_svm01.c
> index 32d15526b..f81602567 100644
> --- a/testcases/kernel/kvm/kvm_svm01.c
> +++ b/testcases/kernel/kvm/kvm_svm01.c
> @@ -108,6 +108,10 @@ static struct tst_test test = {
>  	.test_all = tst_kvm_run,
>  	.setup = tst_kvm_setup,
>  	.cleanup = tst_kvm_cleanup,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		"x86",
> diff --git a/testcases/kernel/kvm/kvm_svm02.c b/testcases/kernel/kvm/kvm_svm02.c
> index 6914fdcba..701f2731d 100644
> --- a/testcases/kernel/kvm/kvm_svm02.c
> +++ b/testcases/kernel/kvm/kvm_svm02.c
> @@ -129,6 +129,10 @@ static struct tst_test test = {
>  	.test_all = tst_kvm_run,
>  	.setup = tst_kvm_setup,
>  	.cleanup = tst_kvm_cleanup,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		"x86",
> diff --git a/testcases/kernel/kvm/kvm_svm03.c b/testcases/kernel/kvm/kvm_svm03.c
> index 87164d013..faafaf7cf 100644
> --- a/testcases/kernel/kvm/kvm_svm03.c
> +++ b/testcases/kernel/kvm/kvm_svm03.c
> @@ -154,6 +154,10 @@ static struct tst_test test = {
>  	.test_all = run,
>  	.setup = setup,
>  	.cleanup = cleanup,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.min_cpus = 2,
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
> diff --git a/testcases/kernel/kvm/kvm_svm04.c b/testcases/kernel/kvm/kvm_svm04.c
> index 75fcbfdcf..af3c8b1c6 100644
> --- a/testcases/kernel/kvm/kvm_svm04.c
> +++ b/testcases/kernel/kvm/kvm_svm04.c
> @@ -295,6 +295,10 @@ static struct tst_test test = {
>  	.test_all = tst_kvm_run,
>  	.setup = tst_kvm_setup,
>  	.cleanup = tst_kvm_cleanup,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		"x86",
> diff --git a/testcases/kernel/kvm/kvm_vmx01.c b/testcases/kernel/kvm/kvm_vmx01.c
> index 5bffbe946..d0c4913c9 100644
> --- a/testcases/kernel/kvm/kvm_vmx01.c
> +++ b/testcases/kernel/kvm/kvm_vmx01.c
> @@ -269,6 +269,10 @@ static struct tst_test test = {
>  	.setup = setup,
>  	.cleanup = tst_kvm_cleanup,
>  	.needs_root = 1,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		"x86",
> diff --git a/testcases/kernel/kvm/kvm_vmx02.c b/testcases/kernel/kvm/kvm_vmx02.c
> index 3fcfebb3b..4ce225e56 100644
> --- a/testcases/kernel/kvm/kvm_vmx02.c
> +++ b/testcases/kernel/kvm/kvm_vmx02.c
> @@ -183,6 +183,10 @@ static struct tst_test test = {
>  	.setup = setup,
>  	.cleanup = tst_kvm_cleanup,
>  	.needs_root = 1,
> +	.needs_drivers = (const char *const []) {
> +		"kvm",
> +		NULL
> +	},
>  	.supported_archs = (const char *const []) {
>  		"x86_64",
>  		"x86",


More information about the ltp mailing list