From: Nikunj A Dadhania <nikunj@amd.com>
To: "Pratik R. Sampat" <prsampat@amd.com>,
<linux-kernel@vger.kernel.org>, <x86@kernel.org>,
<kvm@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
<linux-kselftest@vger.kernel.org>
Cc: <seanjc@google.com>, <pbonzini@redhat.com>,
<thomas.lendacky@amd.com>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>, <dave.hansen@linux.intel.com>,
<shuah@kernel.org>, <pgonda@google.com>, <ashish.kalra@amd.com>,
<michael.roth@amd.com>, <sraithal@amd.com>, <prsampat@amd.com>
Subject: Re: [PATCH v5 3/9] KVM: selftests: SEV-SNP test for KVM_SEV_INIT2
Date: Tue, 28 Jan 2025 12:13:41 +0000 [thread overview]
Message-ID: <85ikpzm8zu.fsf@amd.com> (raw)
In-Reply-To: <20250123220100.339867-4-prsampat@amd.com>
"Pratik R. Sampat" <prsampat@amd.com> writes:
> Add the X86_FEATURE_SNP CPU feature to the architectural definition for
> the SEV-SNP VM type to exercise the KVM_SEV_INIT2 call. Ensure that the
> SNP test is skipped in scenarios where CPUID supports it but KVM does
> not, preventing reporting of failure in such cases.
>
> Signed-off-by: Pratik R. Sampat <prsampat@amd.com>
With a minor nit below:
Reviewed-by: Nikunj A Dadhania <nikunj@amd.com>
> ---
> tools/testing/selftests/kvm/include/x86/processor.h | 1 +
> tools/testing/selftests/kvm/x86/sev_init2_tests.c | 13 +++++++++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/tools/testing/selftests/kvm/include/x86/processor.h b/tools/testing/selftests/kvm/include/x86/processor.h
> index d60da8966772..1e05e610bb06 100644
> --- a/tools/testing/selftests/kvm/include/x86/processor.h
> +++ b/tools/testing/selftests/kvm/include/x86/processor.h
> @@ -199,6 +199,7 @@ struct kvm_x86_cpu_feature {
> #define X86_FEATURE_VGIF KVM_X86_CPU_FEATURE(0x8000000A, 0, EDX, 16)
> #define X86_FEATURE_SEV KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 1)
> #define X86_FEATURE_SEV_ES KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 3)
> +#define X86_FEATURE_SNP KVM_X86_CPU_FEATURE(0x8000001F, 0, EAX, 4)
Can we keep the naming same as in cpufeatures.h: X86_FEATURE_SEV_SNP ?
Regards
Nikunj
>
> /*
> * KVM defined paravirt features.
> diff --git a/tools/testing/selftests/kvm/x86/sev_init2_tests.c b/tools/testing/selftests/kvm/x86/sev_init2_tests.c
> index 3fb967f40c6a..3f8fb2cc3431 100644
> --- a/tools/testing/selftests/kvm/x86/sev_init2_tests.c
> +++ b/tools/testing/selftests/kvm/x86/sev_init2_tests.c
> @@ -28,6 +28,7 @@
> int kvm_fd;
> u64 supported_vmsa_features;
> bool have_sev_es;
> +bool have_snp;
>
> static int __sev_ioctl(int vm_fd, int cmd_id, void *data)
> {
> @@ -83,6 +84,9 @@ void test_vm_types(void)
> if (have_sev_es)
> test_init2(KVM_X86_SEV_ES_VM, &(struct kvm_sev_init){});
>
> + if (have_snp)
> + test_init2(KVM_X86_SNP_VM, &(struct kvm_sev_init){});
> +
> test_init2_invalid(0, &(struct kvm_sev_init){},
> "VM type is KVM_X86_DEFAULT_VM");
> if (kvm_check_cap(KVM_CAP_VM_TYPES) & BIT(KVM_X86_SW_PROTECTED_VM))
> @@ -138,15 +142,24 @@ int main(int argc, char *argv[])
> "sev-es: KVM_CAP_VM_TYPES (%x) does not match cpuid (checking %x)",
> kvm_check_cap(KVM_CAP_VM_TYPES), 1 << KVM_X86_SEV_ES_VM);
>
> + have_snp = kvm_check_cap(KVM_CAP_VM_TYPES) & BIT(KVM_X86_SNP_VM);
> + TEST_ASSERT(!have_snp || kvm_cpu_has(X86_FEATURE_SNP),
> + "sev-snp: KVM_CAP_VM_TYPES (%x) indicates SNP support (bit %d), but CPUID does not",
> + kvm_check_cap(KVM_CAP_VM_TYPES), KVM_X86_SNP_VM);
> +
> test_vm_types();
>
> test_flags(KVM_X86_SEV_VM);
> if (have_sev_es)
> test_flags(KVM_X86_SEV_ES_VM);
> + if (have_snp)
> + test_flags(KVM_X86_SNP_VM);
>
> test_features(KVM_X86_SEV_VM, 0);
> if (have_sev_es)
> test_features(KVM_X86_SEV_ES_VM, supported_vmsa_features);
> + if (have_snp)
> + test_features(KVM_X86_SNP_VM, supported_vmsa_features);
>
> return 0;
> }
> --
> 2.43.0
next prev parent reply other threads:[~2025-01-28 12:13 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-23 22:00 [PATCH v5 0/9] Basic SEV-SNP Selftests Pratik R. Sampat
2025-01-23 22:00 ` [PATCH v5 1/9] KVM: SEV: Disable SEV-SNP on FW validation failure Pratik R. Sampat
2025-01-24 10:03 ` Nikunj A Dadhania
2025-01-23 22:00 ` [PATCH v5 2/9] KVM: SEV: Disable SEV on platform init failure Pratik R. Sampat
2025-01-24 9:56 ` Nikunj A. Dadhania
2025-01-24 17:03 ` Pratik Rajesh Sampat
2025-01-23 22:00 ` [PATCH v5 3/9] KVM: selftests: SEV-SNP test for KVM_SEV_INIT2 Pratik R. Sampat
2025-01-28 12:13 ` Nikunj A Dadhania [this message]
2025-01-28 17:35 ` Pratik Rajesh Sampat
2025-01-23 22:00 ` [PATCH v5 4/9] KVM: selftests: Add VMGEXIT helper Pratik R. Sampat
2025-01-24 9:18 ` Gupta, Pankaj
2025-01-23 22:00 ` [PATCH v5 5/9] KVM: selftests: Introduce SEV VM type check Pratik R. Sampat
2025-01-23 22:00 ` [PATCH v5 6/9] KVM: selftests: Add library support for interacting with SNP Pratik R. Sampat
2025-01-23 22:00 ` [PATCH v5 7/9] KVM: selftests: Force GUEST_MEMFD flag for SNP VM type Pratik R. Sampat
2025-01-23 22:00 ` [PATCH v5 8/9] KVM: selftests: Abstractions for SEV to decouple policy from type Pratik R. Sampat
2025-01-23 22:01 ` [PATCH v5 9/9] KVM: selftests: Add a basic SEV-SNP smoke test Pratik R. Sampat
2025-01-29 15:49 ` [PATCH v5 0/9] Basic SEV-SNP Selftests Aithal, Srikanth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85ikpzm8zu.fsf@amd.com \
--to=nikunj@amd.com \
--cc=ashish.kalra@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pgonda@google.com \
--cc=prsampat@amd.com \
--cc=seanjc@google.com \
--cc=shuah@kernel.org \
--cc=sraithal@amd.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.