rt5350 中断处理分析
来源:互联网 发布:亚投行 日本 知乎 编辑:程序博客网 时间:2024/05/22 17:38
1. arch/mips/kernel/genex.S
j plat_irq_dispatch
2. arch/mips/rt2880/irq.c
plat_irq_dispatch
rt2880_irqdispatch
do_IRQ
do_IRQ定义在 include/asm-mips/irq.h 这个头文件中,asm-mips这个目录链接到asm这里,所以在
arch/mips/rt2880/irq.c这个文件中#include <asm/irq.h>
#define do_IRQ(irq) \
do { \
irq_enter(); \
__DO_IRQ_SMTC_HOOK(irq); \
generic_handle_irq(irq); \
irq_exit(); \
} while (0)
generic_handle_irq定义在 include/linux/irq.h 中,arch/mips/rt2880/irq.c这个文件中 #include <linux/hardirq.h>
在 include/linux/hardirq.h 中 #include <asm/hardirq.h> ,在 include/asm_mips/hardirq.h 中 #include <linux/irq.h>
至此, do_IRQ和 generic_handle_irq 都被包含进了arch/mips/rt2880/irq.c中了。
static inline void generic_handle_irq(unsigned int irq)
{
struct irq_desc *desc = irq_desc + irq;
#ifdef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
desc->handle_irq(irq, desc);
#else
if (likely(desc->handle_irq)){
desc->handle_irq(irq, desc);
}
else{
__do_IRQ(irq);
}
#endif
}
最终调用到了我们熟悉的desc->handle_irq
- rt5350 中断处理分析
- rt5350 中断初始化
- ARM中断处理分析
- 中断处理流程分析
- 中断处理流程分析
- Linux中断处理体系结构分析
- linux中断处理原理分析
- ARM中断处理底层分析
- linux中断处理原理分析
- linux中断处理原理分析
- Linux中的中断处理分析
- linux中断处理原理分析
- linux中断处理原理分析
- 分析system_call中断处理过程
- system_call中断处理过程分析
- Linux的中断处理分析
- system_call中断处理过程分析
- 分析system_call中断处理过程
- hdu1754
- 只是来报个到
- JSTL 标签获得jsp页面上定义的变量
- Nandflash和norflash的区别
- 【matlab学习笔记】长矩阵分割
- rt5350 中断处理分析
- getaddrinfo()函数详解
- UVA 11404 Palindromic Subsequence
- Django学习笔记(五)—— 表单
- HDU1251 统计难题 【trie树】
- ArcGIS上根据经纬度求地球表面两点间距离的实现
- 使用一个包含category的静态库
- 三个空饮料瓶可以换一瓶饮料,给你1箱(50瓶)饮料,你能喝多少瓶饮料?
- php 获取局域网的 所有用户的电脑IP和主机名、及mac地址