pub struct RedirectionEntry { /* private fields */ }Expand description
Redirection table entry – represents a 64-bit I/O APIC routing entry.
Layout:
- Bits 7:0 – Interrupt vector
- Bits 10:8 – Delivery mode (000=Fixed, 001=LowestPri, 010=SMI, 100=NMI, 101=INIT, 111=ExtINT)
- Bit 11 – Destination mode (0=Physical, 1=Logical)
- Bit 12 – Delivery status (read-only: 0=idle, 1=pending)
- Bit 13 – Pin polarity (0=active high, 1=active low)
- Bit 14 – Remote IRR (read-only, level-triggered)
- Bit 15 – Trigger mode (0=edge, 1=level)
- Bit 16 – Mask (1=masked)
- Bits 63:56 – Destination APIC ID (physical mode)
Implementations§
Source§impl RedirectionEntry
impl RedirectionEntry
Sourcepub const fn new(vector: u8) -> Self
pub const fn new(vector: u8) -> Self
Create a new masked redirection entry with the given vector.
Sourcepub fn set_vector(&mut self, vector: u8)
pub fn set_vector(&mut self, vector: u8)
Set the interrupt vector (bits 7:0).
Sourcepub fn set_delivery_mode(&mut self, mode: u8)
pub fn set_delivery_mode(&mut self, mode: u8)
Set delivery mode (bits 10:8). 0=Fixed, 1=LowestPriority, 2=SMI, 4=NMI, 5=INIT, 7=ExtINT.
Sourcepub fn set_dest_mode_logical(&mut self, logical: bool)
pub fn set_dest_mode_logical(&mut self, logical: bool)
Set destination mode (bit 11). 0=Physical, 1=Logical.
Sourcepub fn set_active_low(&mut self, active_low: bool)
pub fn set_active_low(&mut self, active_low: bool)
Set pin polarity (bit 13). false=active high, true=active low.
Sourcepub fn set_level_triggered(&mut self, level: bool)
pub fn set_level_triggered(&mut self, level: bool)
Set trigger mode (bit 15). false=edge, true=level.
Sourcepub fn set_masked(&mut self, masked: bool)
pub fn set_masked(&mut self, masked: bool)
Set mask bit (bit 16). true=masked.
Sourcepub fn set_destination(&mut self, dest: u8)
pub fn set_destination(&mut self, dest: u8)
Set destination APIC ID (bits 63:56).
Sourcepub fn from_parts(low: u32, high: u32) -> Self
pub fn from_parts(low: u32, high: u32) -> Self
Construct from low and high 32-bit halves.
Trait Implementations§
Source§impl Clone for RedirectionEntry
impl Clone for RedirectionEntry
Source§fn clone(&self) -> RedirectionEntry
fn clone(&self) -> RedirectionEntry
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 moreSource§impl Debug for RedirectionEntry
impl Debug for RedirectionEntry
impl Copy for RedirectionEntry
Auto Trait Implementations§
impl Freeze for RedirectionEntry
impl RefUnwindSafe for RedirectionEntry
impl Send for RedirectionEntry
impl Sync for RedirectionEntry
impl Unpin for RedirectionEntry
impl UnwindSafe for RedirectionEntry
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)