Struct x86_64::irq::IdtEntry
[−]
[src]
#[repr(C, packed)]pub struct IdtEntry { pub pointer_low: u16, pub selector: SegmentSelector, pub options: IdtEntryOptions, pub pointer_middle: u16, pub pointer_high: u32, // some fields omitted }
An Interrupt Descriptor Table entry.
See AMD64 Vol 2, Section 4.8.4 for details.
Fields
pointer_low: u16
Lower 16 bits of ISR pointer.
selector: SegmentSelector
Segment selector.
options: IdtEntryOptions
pointer_middle: u16
Bits 16-31 of ISR pointer.
pointer_high: u32
Bits 32-63 of ISR pointer.
Methods
impl IdtEntry
[src]
fn missing() -> IdtEntry
A "missing" IdtEntry.
If the CPU tries to invoke a missing interrupt, it will instead send a Segment-Not-Present Exception (11), with the segment descriptor as error code.
fn new(handler: VirtualAddress) -> IdtEntry
Create a new IdtEntry pointing at handler
, which must be a function
with interrupt calling conventions. (This must be currently defined in
assembly language.) The gdt_code_selector
value must be the offset of
code segment entry in the GDT.
This function sets the "Present" flag, which is the most common case. It also sets the GDT selector to the currently active code segment. All defaults can be overwritten through the provided methods.
Trait Implementations
impl Debug for IdtEntry
[src]
impl Clone for IdtEntry
[src]
fn clone(&self) -> IdtEntry
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more