• Paolo Bonzini's avatar
    KVM: SEV: sync FPU and AVX state at LAUNCH_UPDATE_VMSA time · eb444186
    Paolo Bonzini authored
    SEV-ES allows passing custom contents for x87, SSE and AVX state into the VMSA.
    Allow userspace to do that with the usual KVM_SET_XSAVE API and only mark
    FPU contents as confidential after it has been copied and encrypted into
    the VMSA.
    
    Since the XSAVE state for AVX is the first, it does not need the
    compacted-state handling of get_xsave_addr().  However, there are other
    parts of XSAVE state in the VMSA that currently are not handled, and
    the validation logic of get_xsave_addr() is pointless to duplicate
    in KVM, so move get_xsave_addr() to public FPU API; it is really just
    a facility to operate on XSAVE state and does not expose any internal
    details of arch/x86/kernel/fpu.
    Acked-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Message-ID: <20240404121327.3107131-12-pbonzini@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    eb444186
svm.c 148 KB