Struct pic8259_simple::ChainedPics
[−]
[src]
pub struct ChainedPics { /* fields omitted */ }
A pair of chained PIC controllers. This is the standard setup on x86.
Methods
impl ChainedPics
[src]
const unsafe fn new(offset1: u8, offset2: u8) -> ChainedPics
Create a new interface for the standard PIC1 and PIC2 controllers, specifying the desired interrupt offsets.
unsafe fn initialize(&mut self)
Initialize both our PICs. We initialize them together, at the same time, because it's traditional to do so, and because I/O operations might not be instantaneous on older processors.
fn handles_interrupt(&self, interrupt_id: u8) -> bool
Do we handle this interrupt?
unsafe fn notify_end_of_interrupt(&mut self, interrupt_id: u8)
Figure out which (if any) PICs in our chain need to know about this
interrupt. This is tricky, because all interrupts from pics[1]
get chained through pics[0]
.