On Sun, Mar 27, 2022 at 06:22:20PM -0600, Dave Voutila wrote: > 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@
This broke kernel compilation on syzkaller. sys/arch/amd64/amd64/vmm.c:499:11: error: implicit declaration of function 'vmx_remote_vmclear' is invalid in C99 [-Werror,-Wimplicit-function-declaration] https://syzkaller.appspot.com/bug?id=c58155e5ad57153055f3b4db9d86234cd086fe3b