Message ID | 20250123220100.339867-5-prsampat@amd.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Basic SEV-SNP Selftests | expand |
On 1/23/2025 11:00 PM, Pratik R. Sampat wrote: > Abstract rep vmmcall coded into the VMGEXIT helper for the sev > library. > > No functional change intended. > > Signed-off-by: Pratik R. Sampat <prsampat@amd.com> Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com> > --- > tools/testing/selftests/kvm/include/x86/sev.h | 2 ++ > tools/testing/selftests/kvm/x86/sev_smoke_test.c | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/kvm/include/x86/sev.h b/tools/testing/selftests/kvm/include/x86/sev.h > index 82c11c81a956..e7df5d0987f6 100644 > --- a/tools/testing/selftests/kvm/include/x86/sev.h > +++ b/tools/testing/selftests/kvm/include/x86/sev.h > @@ -27,6 +27,8 @@ enum sev_guest_state { > > #define GHCB_MSR_TERM_REQ 0x100 > > +#define VMGEXIT() { __asm__ __volatile__("rep; vmmcall"); } > + > void sev_vm_launch(struct kvm_vm *vm, uint32_t policy); > void sev_vm_launch_measure(struct kvm_vm *vm, uint8_t *measurement); > void sev_vm_launch_finish(struct kvm_vm *vm); > diff --git a/tools/testing/selftests/kvm/x86/sev_smoke_test.c b/tools/testing/selftests/kvm/x86/sev_smoke_test.c > index a1a688e75266..38f647fe55d2 100644 > --- a/tools/testing/selftests/kvm/x86/sev_smoke_test.c > +++ b/tools/testing/selftests/kvm/x86/sev_smoke_test.c > @@ -27,7 +27,7 @@ static void guest_sev_es_code(void) > * force "termination" to signal "done" via the GHCB MSR protocol. > */ > wrmsr(MSR_AMD64_SEV_ES_GHCB, GHCB_MSR_TERM_REQ); > - __asm__ __volatile__("rep; vmmcall"); > + VMGEXIT(); > } > > static void guest_sev_code(void)
diff --git a/tools/testing/selftests/kvm/include/x86/sev.h b/tools/testing/selftests/kvm/include/x86/sev.h index 82c11c81a956..e7df5d0987f6 100644 --- a/tools/testing/selftests/kvm/include/x86/sev.h +++ b/tools/testing/selftests/kvm/include/x86/sev.h @@ -27,6 +27,8 @@ enum sev_guest_state { #define GHCB_MSR_TERM_REQ 0x100 +#define VMGEXIT() { __asm__ __volatile__("rep; vmmcall"); } + void sev_vm_launch(struct kvm_vm *vm, uint32_t policy); void sev_vm_launch_measure(struct kvm_vm *vm, uint8_t *measurement); void sev_vm_launch_finish(struct kvm_vm *vm); diff --git a/tools/testing/selftests/kvm/x86/sev_smoke_test.c b/tools/testing/selftests/kvm/x86/sev_smoke_test.c index a1a688e75266..38f647fe55d2 100644 --- a/tools/testing/selftests/kvm/x86/sev_smoke_test.c +++ b/tools/testing/selftests/kvm/x86/sev_smoke_test.c @@ -27,7 +27,7 @@ static void guest_sev_es_code(void) * force "termination" to signal "done" via the GHCB MSR protocol. */ wrmsr(MSR_AMD64_SEV_ES_GHCB, GHCB_MSR_TERM_REQ); - __asm__ __volatile__("rep; vmmcall"); + VMGEXIT(); } static void guest_sev_code(void)
Abstract rep vmmcall coded into the VMGEXIT helper for the sev library. No functional change intended. Signed-off-by: Pratik R. Sampat <prsampat@amd.com> --- tools/testing/selftests/kvm/include/x86/sev.h | 2 ++ tools/testing/selftests/kvm/x86/sev_smoke_test.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-)