• Avi Kivity's avatar
    KVM: Handle virtualization instruction #UD faults during reboot · 4ecac3fd
    Avi Kivity authored
    KVM turns off hardware virtualization extensions during reboot, in order
    to disassociate the memory used by the virtualization extensions from the
    processor, and in order to have the system in a consistent state.
    Unfortunately virtual machines may still be running while this goes on,
    and once virtualization extensions are turned off, any virtulization
    instruction will #UD on execution.
    
    Fix by adding an exception handler to virtualization instructions; if we get
    an exception during reboot, we simply spin waiting for the reset to complete.
    If it's a true exception, BUG() so we can have our stack trace.
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    4ecac3fd
svm.c 49.1 KB