use system_error::SystemError; use crate::arch::CurrentIrqArch; use super::{ dummychip::dummy_chip_init, irqdesc::early_irq_init, irqdomain::irq_domain_manager_init, InterruptArch, }; /// 初始化中断 #[inline(never)] pub fn irq_init() -> Result<(), SystemError> { // todo: 通用初始化 dummy_chip_init(); irq_domain_manager_init(); early_irq_init().expect("early_irq_init failed"); // 初始化架构相关的中断 unsafe { CurrentIrqArch::arch_irq_init() }?; return Ok(()); }