template <uint32_t N>
class InterruptTracker
Defined at line 57 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 60 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 67 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 73 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
bool Pop (uint32_t * vector)
Pops the highest priority interrupt.
Defined at line 85 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
zx::result<> Track (uint32_t vector)
Tracks the given interrupt.
Defined at line 95 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
template <uint32_t Vector>
void Track ()
Defined at line 105 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
zx::result<> Interrupt (uint32_t vector)
Tracks the given interrupt, and signals any waiters.
Defined at line 111 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h
template <uint32_t Vector>
void Interrupt ()
Defined at line 120 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 129 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 132 of file ../../zircon/kernel/hypervisor/include/hypervisor/interrupt_tracker.h