#[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
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 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 fn set_vector(&mut self, value: u8)
pub fn set_vector(&mut self, value: u8)
Interrupt vector in the IDT will be activated when the corresponding external interrupt triggers.
Bits: 0..8
const DELIVERY_MODE_BITS: usize = 3usize
const DELIVERY_MODE_OFFSET: usize = 8usize
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 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 fn set_delivery_mode(&mut self, value: DeliveryMode)
pub 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
const DESTINATION_MODE_BITS: usize = 1usize
const DESTINATION_MODE_OFFSET: usize = 11usize
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 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 fn set_destination_mode(&mut self, value: bool)
pub 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
const DELIVERY_STATUS_BITS: usize = 1usize
const DELIVERY_STATUS_OFFSET: usize = 12usize
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 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 fn set_delivery_status(&mut self, value: bool)
pub 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
const LEVEL_BITS: usize = 1usize
const LEVEL_OFFSET: usize = 14usize
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 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 fn set_level(&mut self, value: bool)
pub 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
const TRIGGER_MODE_BITS: usize = 1usize
const TRIGGER_MODE_OFFSET: usize = 15usize
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 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 fn set_trigger_mode(&mut self, value: bool)
pub 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
const DESTINATION_TYPE_BITS: usize = 2usize
const DESTINATION_TYPE_OFFSET: usize = 18usize
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 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 fn set_destination_type(&mut self, value: u8)
pub 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
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 more