5. Event Channels
Event channels are the basic primitive provided by Xen for event
notifications. An event is the Xen equivalent of a hardware
interrupt. They essentially store one bit of information, the event
of interest is signalled by transitioning this bit from 0 to 1.
Notifications are received by a guest via an upcall from Xen,
indicating when an event arrives (setting the bit). Further
notifications are masked until the bit is cleared again (therefore,
guests must check the value of the bit after re-enabling event
delivery to ensure no missed notifications).
Event notifications can be masked by setting a flag; this is
equivalent to disabling interrupts and can be used to ensure atomicity
of certain operations in the guest kernel.