Use an atomic operation to clear pending event bits
authormikeb <mikeb@openbsd.org>
Wed, 3 Aug 2016 14:55:57 +0000 (14:55 +0000)
committermikeb <mikeb@openbsd.org>
Wed, 3 Aug 2016 14:55:57 +0000 (14:55 +0000)
commit4ef38d8395a08772f177cd28a89917eb0fc1960d
treecaa6aa1f3fd6018dd25bc382506e06e56f63df2b
parent86bc62030ca9b1efe173754d4c80e44b23d735d9
Use an atomic operation to clear pending event bits

Pending event bits are located in a shared memory and are potentially
accessed by multiple CPUs running dom0 and the guest VM.  It appears
that a failure to synchronize changes to this shared memory leads to
race conditions resulting in the guest missing out on notifications.
sys/dev/pv/xen.c
sys/dev/pv/xenreg.h
sys/dev/pv/xenvar.h