CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2022/03/27 18:22:20
Modified files: sys/arch/amd64/amd64: vmm.c Log message: vmm(4): add quiesce/wakeup hooks to sync vcpu state. If a host suspends or hibernates, a task in the middle of using vcpu state may be rescheduled to another cpu. This is primarily a problem for Intel hosts as vcpu state is kept local to the physical cpu and must be flushed back to physical memory before another cpu can issue certain vmx instructions. This change ensures no tasks are actively using the vmm device, flushes all vcpu state (if Intel hardware), and turns off virtualization mode on the host cpus. Upon wakeup, we reverse the process. Reported on bugs@ by mpi@. OK mlarkin@