arch/x86/include/asm/irq_vectors.h : 具有256个中断描述符表入口,每个入口是8个byte,用于提供CPU跳转,如产生cpu的内部,外部,以及软件触发的事件。 vector 0 ... 31 : system traps and exceptions -hardcoded events vector 32 ... 127 : device interrupts vector 128 : legacy int80 syscall interface arch/x86/kernel/irq.c: do_IRQ 处理常规的device 中断处理,读取verctor_irq[vector]得到irq_desc, 通过handle_irq处理中断,handle_irq是通过在kernel/irq/chip.c的 irq_set_chip_and_handler_name 进行注册的。而该接口是在kernel/irq/irqdomain.c 中被irq_domain_set_info调用。 好文转载 https://blog.csdn.net/ahskx/article/details/50618985 https://blog.csdn.net/yusiguyuan/article/details/23522387 https://blog.csdn.net/yusiguyuan/article/details/12858627 https://blog.csdn.net/kasalyn/article/details/11473885 https://blog.csdn.net/qianlong4526888/article/details/17463809 https://blog.csdn.net/xkjcf/article/details/7772849 http://www./kernel_synchronization/memory-barrier.html https://blog.csdn.net/godleading/article/details/52971179 (软中断) https://blog.csdn.net/cupidove/article/details/49927259
|
|