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