[][src]Enum sunrise_kernel::devices::lapic::DeliveryMode

pub enum DeliveryMode {
    Fixed,
    SMI,
    NMI,
    INIT,
    ExtINT,
    Unknown(u32),
}

Specifies how the APICs listed in the destination field should act upon reception of this signal. Note that certain Delivery Modes only operate as intended when used in conjunction with a specific trigger Mode.

Variants

Fixed

Delivers the interrupt specified in the vector field.

SMI

Delivers an SMI interrupt to the processor core through the processor’s local SMI signal path. When using this delivery mode, the vector field should be set to 0x00 for future compatibility.

NMI

Delivers an NMI interrupt to the processor. The vector information is ignored.

INIT

Delivers an INIT request to the processor core, which causes the processor to perform an INIT. When using this delivery mode, the vector field should be set to 0x00 for future compatibility. Not supported for the LVT CMCI register, the LVT thermal monitor register, or the LVT performance counter register.

ExtINT

Causes the processor to respond to the interrupt as if the interrupt originated in an externally connected (8259A-compatible) interrupt controller. A special INTA bus cycle corresponding to ExtINT, is routed to the external controller. The external controller is expected to supply the vector information. The APIC architecture supports only one ExtINT source in a system, usually contained in the compatibility bridge. Only one processor in the system should have an LVT entry configured to use the ExtINT delivery mode. Not supported for the LVT CMCI register, the LVT thermal monitor register, or the LVT performance counter register.

Unknown(u32)

Unknown delivery mode encountered.

Trait Implementations

impl Clone for DeliveryMode[src]

impl Copy for DeliveryMode[src]

impl Debug for DeliveryMode[src]

impl From<DeliveryMode> for u32[src]

impl From<u32> for DeliveryMode[src]

Auto Trait Implementations

impl RefUnwindSafe for DeliveryMode

impl Send for DeliveryMode

impl Sync for DeliveryMode

impl Unpin for DeliveryMode

impl UnwindSafe for DeliveryMode

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.