CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2021/12/04 11:51:37
Modified files: sys/arch/amd64/amd64: vmm.c Log message: vmm(4): reload vmcs after possible sleep points Guests running on Intel hosts that sleep on a lock might have their process moved to another cpu core by the scheduler. If this happens, the VMCS needs to be remotely cleared and locally loaded otherwise vmx instructions will fail. vmd(8) will receive a failure code and abort the guest. This change stores the current (last) cpu the process was on before attempting a function call that may sleep (e.g. uvm_fault(9)). Upon function return, perform the VMCS dance if needed. Tested with help from Mischa Pieters. OK mlarkin@