• Sean Christopherson's avatar
    KVM: VMX: Add emulation of SGX Launch Control LE hash MSRs · 8f102445
    Sean Christopherson authored
    Emulate the four Launch Enclave public key hash MSRs (LE hash MSRs) that
    exist on CPUs that support SGX Launch Control (LC).  SGX LC modifies the
    behavior of ENCLS[EINIT] to use the LE hash MSRs when verifying the key
    used to sign an enclave.  On CPUs without LC support, the LE hash is
    hardwired into the CPU to an Intel controlled key (the Intel key is also
    the reset value of the LE hash MSRs). Track the guest's desired hash so
    that a future patch can stuff the hash into the hardware MSRs when
    executing EINIT on behalf of the guest, when those MSRs are writable in
    host.
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Co-developed-by: default avatarKai Huang <kai.huang@intel.com>
    Signed-off-by: default avatarKai Huang <kai.huang@intel.com>
    Message-Id: <c58ef601ddf88f3a113add837969533099b1364a.1618196135.git.kai.huang@intel.com>
    [Add a comment regarding the MSRs being available until SGX is locked.
     - Paolo]
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    8f102445
sgx.c 10.4 KB