diff mbox

[RFC,v4,10/20] vl: add memory encryption support

Message ID 148900637563.27090.8781580144264908372.stgit@brijesh-build-machine
State New
Headers show

Commit Message

Brijesh Singh March 8, 2017, 8:52 p.m. UTC
If memory encryption is enabled then create memory encryption launch
context to ensure that bootstrap data (bios images) get encrypted. Also
release the encryption context after machine is succesfully created.

Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
---
 vl.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff mbox

Patch

diff --git a/vl.c b/vl.c
index 71b75ef..c6e7846 100644
--- a/vl.c
+++ b/vl.c
@@ -4521,6 +4521,14 @@  int main(int argc, char **argv, char **envp)
     current_machine->boot_order = boot_order;
     current_machine->cpu_model = cpu_model;
 
+    /* If memory encryption is enabled then create encryption context. */
+    if (kvm_memcrypt_enabled()) {
+        if (kvm_memcrypt_create_launch_context()) {
+            error_report("failed to create memory encryption context");
+            exit(1);
+        }
+    }
+
     machine_class->init(current_machine);
 
     realtime_init();
@@ -4671,6 +4679,13 @@  int main(int argc, char **argv, char **envp)
         vm_start();
     }
 
+    if (kvm_memcrypt_enabled()) {
+        if (kvm_memcrypt_release_launch_context()) {
+            error_report("failed to stop encryption context");
+            exit(1);
+        }
+    }
+
     os_setup_post();
 
     main_loop();