Struct pic8259_simple::ChainedPics [] [src]

pub struct ChainedPics {
    // some 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].