driver_interface::interrupt_controller

Trait InterfaceCPU

Source
pub trait InterfaceCPU: Send {
    // Required methods
    fn get_and_acknowledge_interrupt(&self) -> Option<IrqId>;
    fn end_interrupt(&self, irq: IrqId);
    fn irq_enable(&self, irq: IrqId);
    fn irq_disable(&self, irq: IrqId);
    fn set_priority(&self, irq: IrqId, priority: usize);
    fn set_trigger(&self, irq: IrqId, triger: Trigger);
    fn set_bind_cpu(&self, irq: IrqId, cpu_list: &[CpuId]);
    fn parse_fdt_config(
        &self,
        prop_interrupts: &[u32],
    ) -> Result<IrqConfig, Box<dyn Error>>;
}

Required Methods§

Source

fn get_and_acknowledge_interrupt(&self) -> Option<IrqId>

Source

fn end_interrupt(&self, irq: IrqId)

Source

fn irq_enable(&self, irq: IrqId)

Source

fn irq_disable(&self, irq: IrqId)

Source

fn set_priority(&self, irq: IrqId, priority: usize)

Source

fn set_trigger(&self, irq: IrqId, triger: Trigger)

Source

fn set_bind_cpu(&self, irq: IrqId, cpu_list: &[CpuId])

Source

fn parse_fdt_config( &self, prop_interrupts: &[u32], ) -> Result<IrqConfig, Box<dyn Error>>

Implementors§