• Avi Kivity's avatar
    KVM: Avoid instruction emulation when event delivery is pending · cd0a0d23
    Avi Kivity authored
    (cherry-picked from commit 577bdc49)
    
    When an event (such as an interrupt) is injected, and the stack is
    shadowed (and therefore write protected), the guest will exit.  The
    current code will see that the stack is shadowed and emulate a few
    instructions, each time postponing the injection.  Eventually the
    injection may succeed, but at that time the guest may be unwilling
    to accept the interrupt (for example, the TPR may have changed).
    
    This occurs every once in a while during a Windows 2008 boot.
    
    Fix by unshadowing the fault address if the fault was due to an event
    injection.
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    cd0a0d23
vmx.c 81.9 KB