target/i386: add Secure Encrypted Virtualization (SEV) object
commita9b4942f485856acb3a12c6e341b18ea352ecc50
authorBrijesh Singh <brijesh.singh@amd.com>
Thu, 8 Mar 2018 12:48:41 +0000 (8 06:48 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 13 Mar 2018 11:04:03 +0000 (13 12:04 +0100)
treea8a776fab5c7401a84684966521f6ef11497e72f
parent54e89539670e904b0d4f0993abeb92f641c60436
target/i386: add Secure Encrypted Virtualization (SEV) object

Add a new memory encryption object 'sev-guest'. The object will be used
to create encrypted VMs on AMD EPYC CPU. The object provides the properties
to pass guest owner's public Diffie-hellman key, guest policy and session
information required to create the memory encryption context within the
SEV firmware.

e.g to launch SEV guest
 # $QEMU \
    -object sev-guest,id=sev0 \
    -machine ....,memory-encryption=sev0

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
default-configs/i386-softmmu.mak
default-configs/x86_64-softmmu.mak
docs/amd-memory-encryption.txt
qemu-options.hx
target/i386/Makefile.objs
target/i386/sev.c [new file with mode: 0644]
target/i386/sev_i386.h [new file with mode: 0644]