#[non_exhaustive]pub enum InterruptModel<'a, A>where
A: Allocator,{
Unknown,
Apic(Apic<'a, A>),
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Unknown
This model is only chosen when the MADT does not describe another interrupt model. On x86_64 platforms,
this probably means only the legacy i8259 PIC is present.
Apic(Apic<'a, A>)
Describes an interrupt controller based around the Advanced Programmable Interrupt Controller (any of APIC, XAPIC, or X2APIC). These are likely to be found on x86 and x86_64 systems and are made up of a Local APIC for each core and one or more I/O APICs to handle external interrupts.
Trait Implementations§
Source§impl<'a, A> Clone for InterruptModel<'a, A>where
A: Allocator + Clone,
impl<'a, A> Clone for InterruptModel<'a, A>where
A: Allocator + Clone,
Source§fn clone(&self) -> InterruptModel<'a, A>
fn clone(&self) -> InterruptModel<'a, A>
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a, A> Freeze for InterruptModel<'a, A>where
A: Freeze,
impl<'a, A> RefUnwindSafe for InterruptModel<'a, A>where
A: RefUnwindSafe,
impl<'a, A> Send for InterruptModel<'a, A>where
A: Send,
impl<'a, A> Sync for InterruptModel<'a, A>where
A: Sync,
impl<'a, A> Unpin for InterruptModel<'a, A>where
A: Unpin,
impl<'a, A> !UnwindSafe for InterruptModel<'a, A>
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)