#[repr(transparent)]struct InterruptCmdL(u32);
Expand description
Interrupt Command Register 1, R/W
Tuple Fields§
§0: u32
Implementations§
Source§impl InterruptCmdL
impl InterruptCmdL
const VECTOR_BITS: usize = 8usize
const VECTOR_OFFSET: usize = 0usize
const DELIVERY_MODE_BITS: usize = 3usize
const DELIVERY_MODE_OFFSET: usize = 8usize
const DESTINATION_MODE_BITS: usize = 1usize
const DESTINATION_MODE_OFFSET: usize = 11usize
const DELIVERY_STATUS_BITS: usize = 1usize
const DELIVERY_STATUS_OFFSET: usize = 12usize
const LEVEL_BITS: usize = 1usize
const LEVEL_OFFSET: usize = 14usize
const TRIGGER_MODE_BITS: usize = 1usize
const TRIGGER_MODE_OFFSET: usize = 15usize
const DESTINATION_TYPE_BITS: usize = 2usize
const DESTINATION_TYPE_OFFSET: usize = 18usize
Sourcepub const fn vector(&self) -> u8
pub const fn vector(&self) -> u8
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
Sourcepub const fn with_vector_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_vector_checked(self, value: u8) -> Result<Self, ()>
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
Sourcepub const fn with_vector(self, value: u8) -> Self
pub const fn with_vector(self, value: u8) -> Self
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
Sourcepub const fn set_vector(&mut self, value: u8)
pub const fn set_vector(&mut self, value: u8)
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
Sourcepub const fn set_vector_checked(&mut self, value: u8) -> Result<(), ()>
pub const fn set_vector_checked(&mut self, value: u8) -> Result<(), ()>
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
Sourcepub const fn delivery_mode(&self) -> DeliveryMode
pub const fn delivery_mode(&self) -> DeliveryMode
The delivery mode denotes the way the interrupts will be delivered to the local CPU cores, respectively to their local APICs.
Bits: 8..11
Sourcepub const fn with_delivery_mode_checked(
self,
value: DeliveryMode,
) -> Result<Self, ()>
pub const fn with_delivery_mode_checked( self, value: DeliveryMode, ) -> Result<Self, ()>
The delivery mode denotes the way the interrupts will be delivered to the local CPU cores, respectively to their local APICs.
Bits: 8..11
Sourcepub const fn with_delivery_mode(self, value: DeliveryMode) -> Self
pub const fn with_delivery_mode(self, value: DeliveryMode) -> Self
The delivery mode denotes the way the interrupts will be delivered to the local CPU cores, respectively to their local APICs.
Bits: 8..11
Sourcepub const fn set_delivery_mode(&mut self, value: DeliveryMode)
pub const fn set_delivery_mode(&mut self, value: DeliveryMode)
The delivery mode denotes the way the interrupts will be delivered to the local CPU cores, respectively to their local APICs.
Bits: 8..11
Sourcepub const fn set_delivery_mode_checked(
&mut self,
value: DeliveryMode,
) -> Result<(), ()>
pub const fn set_delivery_mode_checked( &mut self, value: DeliveryMode, ) -> Result<(), ()>
The delivery mode denotes the way the interrupts will be delivered to the local CPU cores, respectively to their local APICs.
Bits: 8..11
Sourcepub const fn destination_mode(&self) -> bool
pub const fn destination_mode(&self) -> bool
The destination mode.
Clear for a physical destination, or set for a logical destination.
Bits: 11..12
Sourcepub const fn with_destination_mode_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_destination_mode_checked( self, value: bool, ) -> Result<Self, ()>
The destination mode.
Clear for a physical destination, or set for a logical destination.
Bits: 11..12
Sourcepub const fn with_destination_mode(self, value: bool) -> Self
pub const fn with_destination_mode(self, value: bool) -> Self
The destination mode.
Clear for a physical destination, or set for a logical destination.
Bits: 11..12
Sourcepub const fn set_destination_mode(&mut self, value: bool)
pub const fn set_destination_mode(&mut self, value: bool)
The destination mode.
Clear for a physical destination, or set for a logical destination.
Bits: 11..12
Sourcepub const fn set_destination_mode_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_destination_mode_checked( &mut self, value: bool, ) -> Result<(), ()>
The destination mode.
Clear for a physical destination, or set for a logical destination.
Bits: 11..12
Sourcepub const fn delivery_status(&self) -> bool
pub const fn delivery_status(&self) -> bool
Delivery status.
Cleared when the interrupt has been accepted by the target. You should usually wait until this bit clears after sending an interrupt.
Bits: 12..13
Sourcepub const fn with_delivery_status_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_delivery_status_checked(self, value: bool) -> Result<Self, ()>
Delivery status.
Cleared when the interrupt has been accepted by the target. You should usually wait until this bit clears after sending an interrupt.
Bits: 12..13
Sourcepub const fn with_delivery_status(self, value: bool) -> Self
pub const fn with_delivery_status(self, value: bool) -> Self
Delivery status.
Cleared when the interrupt has been accepted by the target. You should usually wait until this bit clears after sending an interrupt.
Bits: 12..13
Sourcepub const fn set_delivery_status(&mut self, value: bool)
pub const fn set_delivery_status(&mut self, value: bool)
Delivery status.
Cleared when the interrupt has been accepted by the target. You should usually wait until this bit clears after sending an interrupt.
Bits: 12..13
Sourcepub const fn set_delivery_status_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_delivery_status_checked( &mut self, value: bool, ) -> Result<(), ()>
Delivery status.
Cleared when the interrupt has been accepted by the target. You should usually wait until this bit clears after sending an interrupt.
Bits: 12..13
Sourcepub const fn level(&self) -> bool
pub const fn level(&self) -> bool
The polarity denotes when an interrupt should be issued.
Clear for INIT level de-assert, otherwise set.
Bits: 14..15
Sourcepub const fn with_level_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_level_checked(self, value: bool) -> Result<Self, ()>
The polarity denotes when an interrupt should be issued.
Clear for INIT level de-assert, otherwise set.
Bits: 14..15
Sourcepub const fn with_level(self, value: bool) -> Self
pub const fn with_level(self, value: bool) -> Self
The polarity denotes when an interrupt should be issued.
Clear for INIT level de-assert, otherwise set.
Bits: 14..15
Sourcepub const fn set_level(&mut self, value: bool)
pub const fn set_level(&mut self, value: bool)
The polarity denotes when an interrupt should be issued.
Clear for INIT level de-assert, otherwise set.
Bits: 14..15
Sourcepub const fn set_level_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_level_checked(&mut self, value: bool) -> Result<(), ()>
The polarity denotes when an interrupt should be issued.
Clear for INIT level de-assert, otherwise set.
Bits: 14..15
Sourcepub const fn trigger_mode(&self) -> bool
pub const fn trigger_mode(&self) -> bool
The trigger mode states whether the interrupt signaling is level or edge triggered.
Set for INIT level de-assert, otherwise clear.
Bits: 15..16
Sourcepub const fn with_trigger_mode_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_trigger_mode_checked(self, value: bool) -> Result<Self, ()>
The trigger mode states whether the interrupt signaling is level or edge triggered.
Set for INIT level de-assert, otherwise clear.
Bits: 15..16
Sourcepub const fn with_trigger_mode(self, value: bool) -> Self
pub const fn with_trigger_mode(self, value: bool) -> Self
The trigger mode states whether the interrupt signaling is level or edge triggered.
Set for INIT level de-assert, otherwise clear.
Bits: 15..16
Sourcepub const fn set_trigger_mode(&mut self, value: bool)
pub const fn set_trigger_mode(&mut self, value: bool)
The trigger mode states whether the interrupt signaling is level or edge triggered.
Set for INIT level de-assert, otherwise clear.
Bits: 15..16
Sourcepub const fn set_trigger_mode_checked(&mut self, value: bool) -> Result<(), ()>
pub const fn set_trigger_mode_checked(&mut self, value: bool) -> Result<(), ()>
The trigger mode states whether the interrupt signaling is level or edge triggered.
Set for INIT level de-assert, otherwise clear.
Bits: 15..16
Sourcepub const fn destination_type(&self) -> u8
pub const fn destination_type(&self) -> u8
Destination type.
If this is > 0 then the destination field is ignored. 1 will always send the interrupt to itself, 2 will send it to all processors, and 3 will send it to all processors aside from the current one.
It is best to avoid using modes 1, 2 and 3, and stick with 0.
Bits: 18..20
Sourcepub const fn with_destination_type_checked(self, value: u8) -> Result<Self, ()>
pub const fn with_destination_type_checked(self, value: u8) -> Result<Self, ()>
Destination type.
If this is > 0 then the destination field is ignored. 1 will always send the interrupt to itself, 2 will send it to all processors, and 3 will send it to all processors aside from the current one.
It is best to avoid using modes 1, 2 and 3, and stick with 0.
Bits: 18..20
Sourcepub const fn with_destination_type(self, value: u8) -> Self
pub const fn with_destination_type(self, value: u8) -> Self
Destination type.
If this is > 0 then the destination field is ignored. 1 will always send the interrupt to itself, 2 will send it to all processors, and 3 will send it to all processors aside from the current one.
It is best to avoid using modes 1, 2 and 3, and stick with 0.
Bits: 18..20
Sourcepub const fn set_destination_type(&mut self, value: u8)
pub const fn set_destination_type(&mut self, value: u8)
Destination type.
If this is > 0 then the destination field is ignored. 1 will always send the interrupt to itself, 2 will send it to all processors, and 3 will send it to all processors aside from the current one.
It is best to avoid using modes 1, 2 and 3, and stick with 0.
Bits: 18..20
Sourcepub const fn set_destination_type_checked(
&mut self,
value: u8,
) -> Result<(), ()>
pub const fn set_destination_type_checked( &mut self, value: u8, ) -> Result<(), ()>
Destination type.
If this is > 0 then the destination field is ignored. 1 will always send the interrupt to itself, 2 will send it to all processors, and 3 will send it to all processors aside from the current one.
It is best to avoid using modes 1, 2 and 3, and stick with 0.
Bits: 18..20
Trait Implementations§
Source§impl Clone for InterruptCmdL
impl Clone for InterruptCmdL
Source§fn clone(&self) -> InterruptCmdL
fn clone(&self) -> InterruptCmdL
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for InterruptCmdL
impl Debug for InterruptCmdL
Source§impl Default for InterruptCmdL
impl Default for InterruptCmdL
Source§impl From<InterruptCmdL> for u32
impl From<InterruptCmdL> for u32
Source§fn from(v: InterruptCmdL) -> u32
fn from(v: InterruptCmdL) -> u32
Source§impl From<u32> for InterruptCmdL
impl From<u32> for InterruptCmdL
impl Copy for InterruptCmdL
Auto Trait Implementations§
impl Freeze for InterruptCmdL
impl RefUnwindSafe for InterruptCmdL
impl Send for InterruptCmdL
impl Sync for InterruptCmdL
impl Unpin for InterruptCmdL
impl UnwindSafe for InterruptCmdL
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
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut u8)
unsafe fn clone_to_uninit(&self, dst: *mut u8)
clone_to_uninit
)