template <uint32_t N>
class InterruptTracker
Defined at line 77 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
|N| is the maximum number of interrupts to be tracked.
Public Methods
bool Pending ()
Returns whether there are pending interrupts.
Defined at line 80 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
void Clear (uint32_t min, uint32_t max)
Clears all vectors in the range [min, max).
Defined at line 87 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
bool TryPop (uint32_t vector)
Pops the specified vector, if it is pending.
Defined at line 93 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
bool Pop (uint32_t * vector)
Pops the highest priority interrupt.
Defined at line 103 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
void Track (uint32_t vector)
Tracks the given interrupt.
Defined at line 113 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
void Interrupt (uint32_t vector)
Tracks the given interrupt, and signals any waiters.
Defined at line 119 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
void Cancel ()
Cancels a wait for an interrupt.
We signal `ZX_ERR_INTERNAL_INTR_RETRY`, so that if the status is propagated
to the syscall-layer, we will retry the syscall.
Defined at line 128 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
zx::result<> Wait (zx_instant_mono_t deadline, StateInvalidator * invalidator)
Waits for an interrupt.
Defined at line 131 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h