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: Avi Kivity <avi@qumranet.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
i8254.c | ||
i8254.h | ||
i8259.c | ||
irq.c | ||
irq.h | ||
kvm_svm.h | ||
lapic.c | ||
lapic.h | ||
mmu.c | ||
mmu.h | ||
paging_tmpl.h | ||
svm.c | ||
svm.h | ||
tss.h | ||
vmx.c | ||
vmx.h | ||
x86.c | ||
x86_emulate.c |