• Tom Lendacky's avatar
    KVM: SVM: Add NMI support for an SEV-ES guest · 4444dfe4
    Tom Lendacky authored
    The GHCB specification defines how NMIs are to be handled for an SEV-ES
    guest. To detect the completion of an NMI the hypervisor must not
    intercept the IRET instruction (because a #VC while running the NMI will
    issue an IRET) and, instead, must receive an NMI Complete exit event from
    the guest.
    
    Update the KVM support for detecting the completion of NMIs in the guest
    to follow the GHCB specification. When an SEV-ES guest is active, the
    IRET instruction will no longer be intercepted. Now, when the NMI Complete
    exit event is received, the iret_interception() function will be called
    to simulate the completion of the NMI.
    Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
    Message-Id: <5ea3dd69b8d4396cefdc9048ebc1ab7caa70a847.1607620209.git.thomas.lendacky@amd.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    4444dfe4
svm.c 119 KB