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 中断处理分析相关推荐

  1. linux中断处理模式,Linux在保护模式下的中断处理分析.pdf

    Linux在保护模式下的中断处理分析.pdf Linux 在保护模式下的中断处理分析 刘万里 杨 斌 (西南交通大学计算机与通信工程学院,成都 610031) E-mail:awan@ 摘 要 该文以 ...

  2. Linux 0.11 内核解析:中断相关(1)asm.s文件中断处理分析

    0 源代码 有两个版本的,一个是带中文注释,Intel格式的:一个是不带注释是AT&T格式的. Linux 0.11 中文注释版 Linux 0.11 源码,基于<Linux内核完全注释 ...

  3. ARM GIC简介与Linux中断处理分析

    先简单说明一下GIC(具体详尽的介绍请查阅ARM GIC相关文档) GIC即general interrupt controller. 它是一个架构,版本历经了GICv1(已弃用),GICv2,GIC ...

  4. chinaunix 内核源码分析精贴

    1. 内核学习方法,编译.调试等常见问题 1.1 关于编译升级内核到2.6.0的一些问题 作者:ommm         http://linux.chinaunix.net/bbs/thread-2 ...

  5. Linux内核设计第五周学习总结 分析system_call中断处理过程

    陈巧然原创作品 转载请注明出处   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 使用gdb跟踪分析一 ...

  6. Exynos4412 中断驱动开发(二)—— 中断处理流程分析

    前面已经学习了中断的注册过程,下面由一张流程图来看一下当中断发生时的处理流程: 中断发生之后处理流程 a -- 具体的CPU architecture相关模块进行现场保护,然后调用machine dr ...

  7. 实验5 :分析system_call中断处理过程

    分析system_call中断处理过程 上周我们使用gcc内嵌汇编调用系统调用,这次我们具体分析下过程. 将getpid嵌入menuos 代码从github下载,步骤如下: 1. 增加一个函数,get ...

  8. 分析system_call中断处理过程

    分析system_call中断处理过程 上周我们使用gcc内嵌汇编调用系统调用,这次我们具体分析下过程. 将getpid嵌入menuos 代码从github下载,步骤如下: 1. 增加一个函数,get ...

  9. linux EHCI DRIVER之中断处理函数ehci_irq()分析(一)

    EHCI 的 interrupt 在 HCD 中被分为了 6 种类型,如下宏定义: /* these STS_* flags are also intr_enable bits (USBINTR) * ...

最新文章

  1. 虚拟机实现二层交换机_局域网SDN技术硬核内幕 5 虚拟化网络的实现
  2. 上的介质簇的结构不正确_百面机器学习笔记 | 第八章:采样 | 07 不均衡样本集的重采样...
  3. xBIM WeXplorer 设置模型颜色
  4. 归并排序模板(附求逆序对)
  5. Java中ClassLoader浅析.
  6. 最容易被盗的密码,你中了么?
  7. Springmvc 返回html视图解决
  8. java web前端邮件,javaweb之javamail
  9. MySQL提取字符串中数字(自定义函数)
  10. Electron实现Zbar开源工具解码一维码和二维码
  11. 笔记本电脑如何查看wifi密码
  12. 转:查理·芒格:让打击和麻烦成为成长的契机
  13. spring cloud gateway filters学习
  14. 【友盟】 微博分享缺少C8998文件
  15. Dubbo源码分析(三) -- Dubbo的服务发现源码深入解析4万字长文
  16. 你知道icp许可证与edi许可证的区别吗
  17. Android:高德SDK的基本使用
  18. OPENGL中GLU和GLUT工具箱
  19. redis系列(一)
  20. css一些美化页面的方法

热门文章

  1. Spark单独集群模式部署
  2. mysql 慢查询过多_MySQL 慢查询优化
  3. c语言编译器不支持64位,什么编译器支持64位整数?
  4. SpringCloud Stream消息驱动
  5. R语言安装;Rstudio安装
  6. 【剑指offer - C++/Java】3、从尾到头打印链表
  7. Flume与Kafka整合案例详解
  8. django的url控制系统
  9. express+vue+mongodb+session 实现注册登录
  10. Linux空硬盘从分区到挂载