vmd(8): protect global vm and vcpu state with mutex.
authordv <dv@openbsd.org>
Thu, 20 Jun 2024 15:33:44 +0000 (15:33 +0000)
committerdv <dv@openbsd.org>
Thu, 20 Jun 2024 15:33:44 +0000 (15:33 +0000)
commit5195cf3e618bda84decfe33567f115f453b00c92
treefbff389ea8113dfbd2a81cdc9f1aa25d64bc79db
parent9f71c9addcc85a83acf0e7b614d50a0f226f85d6
vmd(8): protect global vm and vcpu state with mutex.

The vm process uses multiple pthreads to emulate vcpu and also drive
an event loop doing various io emulation. At points, one or the
other needs to read/write global vm state bits and toggle if a vcpu
is halted or "done."

This adds in a another mutex to protected the global state and
untangles areas where the mutex for protecting a condition variable
was being used around modifying some global state.

ok mlarkin@
usr.sbin/vmd/vm.c