免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1443 | 回复: 0
打印 上一主题 下一主题

ARM Linux中断机制分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-15 18:46 |只看该作者 |倒序浏览


文件:
ARM Linux中断机制分析.pdf
大小:
207KB
下载:
下载



作者:张俊岭
EMAIL:
sprite_zjl@sina.com
;
jlzhang@tangrae.com.cn

QQ: 251450387
日期:2009-8-15
说明:本文档基于AT91SAM9260EK板

1 数据结构

中断机制的核心数据结构是irq_desc,它完整地描述了一条中断线(或称为“中断通道” )。 irq_desc结构在include/linux/irq.h中定义:

typedef void fastcall (*irq_flow_handler_t)(unsigned int irq,
                        struct irq_desc *desc);
struct irq_desc {
    irq_flow_handler_t  handle_irq; /* 高层次的中断事件处理函数 */
    struct irq_chip     *chip;     /* 低层次的硬件操作 */
    struct msi_desc     *msi_desc; /* MSI 描述符?? */
    void            *handler_data; /* chip方法使用的数据*/
    void            *chip_data;    /* chip私有数据 */
    struct irqaction    *action;   /* 行为链表(action list) */
    unsigned int        status;    /* 状态 */
    unsigned int        depth;     /* 关中断次数 */
    unsigned int        wake_depth; /* 唤醒次数 */
    unsigned int        irq_count;  /* 发生的中断次数 */
    unsigned int        irqs_unhandled;
    spinlock_t      lock;  /* 自旋锁 */
#ifdef CONFIG_SMP
    cpumask_t       affinity;
    unsigned int        cpu;
#endif
#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)
    cpumask_t       pending_mask;
#endif
#ifdef CONFIG_PROC_FS
    struct proc_dir_entry   *dir;  /* 在proc文件系统中的目录 */

#endif
    const char      *name;  /* 名称 */
} ____cacheline_aligned;

......


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104069/showart_2053126.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP