In a processor having hardware event signals, signals are dynamically
allocated in a mask to indicate whether each of the respective signals is
available. Program code can use the same signal for multiple
non-concurrent operations. A tag for an operation, such as an I/O
operation can provide signal virtualization. In one embodiment, the tag
includes a signal pending mask and a received signal mask. A comparison
the mask can identify when an operation is complete.