linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Part2 PATCH v9 30/38] KVM: SVM: Add support for SEV LAUNCH_FINISH command
@ 2017-12-05  1:06 Brijesh Singh
  2017-12-05  1:06 ` [Part2 PATCH v9 31/38] KVM: SVM: Add support for SEV GUEST_STATUS command Brijesh Singh
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Brijesh Singh @ 2017-12-05  1:06 UTC (permalink / raw)
  To: kvm, linux-kernel, x86
  Cc: bp, Brijesh Singh, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Paolo Bonzini, Radim Krčmář,
	Joerg Roedel, Borislav Petkov, Tom Lendacky

The command is used for finializing the SEV guest launch process.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: x86@kernel.org
Cc: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
---
 arch/x86/kvm/svm.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 74e010e6b5b9..6a8d81311e9d 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -6113,6 +6113,26 @@ static int sev_launch_measure(struct kvm *kvm, struct kvm_sev_cmd *argp)
 	return ret;
 }
 
+static int sev_launch_finish(struct kvm *kvm, struct kvm_sev_cmd *argp)
+{
+	struct kvm_sev_info *sev = &kvm->arch.sev_info;
+	struct sev_data_launch_finish *data;
+	int ret;
+
+	if (!sev_guest(kvm))
+		return -ENOTTY;
+
+	data = kzalloc(sizeof(*data), GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+
+	data->handle = sev->handle;
+	ret = sev_issue_cmd(kvm, SEV_CMD_LAUNCH_FINISH, data, &argp->error);
+
+	kfree(data);
+	return ret;
+}
+
 static int svm_mem_enc_op(struct kvm *kvm, void __user *argp)
 {
 	struct kvm_sev_cmd sev_cmd;
@@ -6139,6 +6159,9 @@ static int svm_mem_enc_op(struct kvm *kvm, void __user *argp)
 	case KVM_SEV_LAUNCH_MEASURE:
 		r = sev_launch_measure(kvm, &sev_cmd);
 		break;
+	case KVM_SEV_LAUNCH_FINISH:
+		r = sev_launch_finish(kvm, &sev_cmd);
+		break;
 	default:
 		r = -EINVAL;
 		goto out;
-- 
2.9.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-02-04 19:23 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-05  1:06 [Part2 PATCH v9 30/38] KVM: SVM: Add support for SEV LAUNCH_FINISH command Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 31/38] KVM: SVM: Add support for SEV GUEST_STATUS command Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 32/38] KVM: SVM: Add support for SEV DEBUG_DECRYPT command Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 33/38] KVM: SVM: Add support for SEV DEBUG_ENCRYPT command Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 34/38] KVM: SVM: Add support for SEV LAUNCH_SECRET command Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 35/38] KVM: SVM: Pin guest memory when SEV is active Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 36/38] KVM: SVM: Clear C-bit from the page fault address Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 37/38] KVM: SVM: Do not install #UD intercept when SEV is enabled Brijesh Singh
2017-12-05  1:06 ` [Part2 PATCH v9 38/38] KVM: X86: Restart the guest when insn_len is zero and " Brijesh Singh
2019-02-01 20:21   ` Jim Mattson
2019-02-04 19:22     ` Singh, Brijesh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).