#[repr(C)]
pub struct InterruptDescriptorTable {
Show 21 fields pub divide_error: InterruptGateDescriptor<Handler>, pub debug: InterruptGateDescriptor<Handler>, pub nmi: InterruptGateDescriptor<Handler>, pub breakpoint: InterruptGateDescriptor<Handler>, pub overflow_exception: InterruptGateDescriptor<Handler>, pub bound_range_exceeded: InterruptGateDescriptor<Handler>, pub invalid_opcode: InterruptGateDescriptor<Handler>, pub device_not_available: InterruptGateDescriptor<Handler>, pub double_fault: InterruptGateDescriptor<AbortDoubleFault>, pub coprocessor_segment_overrun: InterruptGateDescriptor<Handler>, pub invalid_tss: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>, pub segment_not_present: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>, pub stack_fault: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>, pub general_protection: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>, pub page_fault: InterruptGateDescriptor<HandlerPageFault>, pub x87_fpu_floating_point_error: InterruptGateDescriptor<Handler>, pub alignment_check_exception: InterruptGateDescriptor<Handler>, pub machine_check_exception: InterruptGateDescriptor<AbortMachineCheck>, pub simd_floating_point_exception: InterruptGateDescriptor<Handler>, pub virtualization_exception: InterruptGateDescriptor<Handler>, pub user_defined: [InterruptGateDescriptor<Handler>; 224], /* private fields */
}
Expand description

Table of interrupt descriptors.

Fields§

§divide_error: InterruptGateDescriptor<Handler>

Interrupt 0 - Divide Error Exception (#DE)

§debug: InterruptGateDescriptor<Handler>

Interrupt 1 - Debug Exception (#DB)

§nmi: InterruptGateDescriptor<Handler>

Interrupt 2 - NMI Interrupt

§breakpoint: InterruptGateDescriptor<Handler>

Interrupt 3 - Breakpoint Exception (#BP)

§overflow_exception: InterruptGateDescriptor<Handler>

Interrupt 4 - Overflow Exception (#OF)

§bound_range_exceeded: InterruptGateDescriptor<Handler>

Interrupt 5 - Bound Range Exceeded Exception (#BR)

§invalid_opcode: InterruptGateDescriptor<Handler>

Interrupt 6 - Invalid Opcode Exception (#UD)

§device_not_available: InterruptGateDescriptor<Handler>

Interrupt 7 - Device Not Available Exception (#NM)

§double_fault: InterruptGateDescriptor<AbortDoubleFault>

Interrupt 8 - Double Fault Exception (#DF)

§coprocessor_segment_overrun: InterruptGateDescriptor<Handler>

Interrupt 9 - Coprocessor Segment Overrun

§invalid_tss: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>

Interrupt 10 - Invalid TSS Exception (#TS)

§segment_not_present: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>

Interrupt 11 - Segment Not Present (#NP)

§stack_fault: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>

Interrupt 12 - Stack Fault Exception (#SS)

§general_protection: InterruptGateDescriptor<HandlerWithSegmentSelectorErrorCode>

Interrupt 13 - General Protection Exception (#GP)

§page_fault: InterruptGateDescriptor<HandlerPageFault>

Interrupt 14 - Page-Fault Exception (#PF)

§x87_fpu_floating_point_error: InterruptGateDescriptor<Handler>

Interrupt 16 - x87 FPU Floating-Point Error (#MF)

§alignment_check_exception: InterruptGateDescriptor<Handler>

Interrupt 17 - Alignment Check Exception (#AC)

§machine_check_exception: InterruptGateDescriptor<AbortMachineCheck>

Interrupt 18 - Machine-Check Exception (#MC)

§simd_floating_point_exception: InterruptGateDescriptor<Handler>

Interrupt 19 - SIMD Floating-Point Exception (#XM)

§virtualization_exception: InterruptGateDescriptor<Handler>

Interrupt 20 - Virtualization Exception (#VE)

§user_defined: [InterruptGateDescriptor<Handler>; 224]

Interrupt 32 ~ 255 - User Defined Interrupt 0 ~ 223

Implementations§

source§

impl InterruptDescriptorTable

source

pub const fn empty() -> Self

source

pub fn load(&'static self)

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for Twhere T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

const: unstable§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.