12345678910111213141516171819202122 |
- 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(());
- }
|