• <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • linux kernel的中断子系?#25345;?#22235;):High level irq event handler

    作者:linuxer 发布于:2014-8-28 20:00 分类:中断子系统

    当外设触发一次中断后,一个大概的处理过程是:

    1、具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler

    2、machine driver对应的中断处理handler中会根据?#24067;?#30340;信息获取HW interrupt ID,并且通过irq domain模块翻译成IRQ number

    3、 调用该IRQ number对应的high level irq event handler,在这个high level的handler中,会通过和interupt controller交互,进行中断处理的flow control(处理中?#31995;?#23884;套、抢占等),当然最终会遍历该中断描述符的IRQ action list,调用外设的specific handler来处理该中断

    4、具体CPU architecture相关的模块会进行现场恢复。

    上面的1、4这两个步骤在linux kernel的中断子系?#25345;?#20845;):ARM中断处理过程中已经有了较为细致的描述,步骤2在linux kernel的中断子系?#25345;?#20108;):irq domain介绍中介绍,本文主要描述步骤3,也就是linux中断子系统的high level irq event handler。

    阅读全文>>

    标签: 中断处理

    评论(41) 浏览(34499)

    linux kernel的中断子系?#25345;?#19977;):IRQ number和中断描述符

    作者:linuxer 发布于:2014-8-26 17:03 分类:中断子系统

    本文主要围绕IRQ number和中断描述符(interrupt descriptor)这两个概念描述通用中断处理过程。第二章主要描述基本概念,包括什么是IRQ number,什么是中断描述符?#21462;?#31532;三章描述中断描述符数据结构的各个成员。第四章描述了初始化中断描述符相关的接口API。第五章描述中断描述符相关 的接口API。

    阅读全文>>

    标签: irq 中断子系统 中断描述符

    评论(73) 浏览(58364)

    Linux电源管理(6)_Generic PM之Suspend功能

    作者:wowo 发布于:2014-8-22 21:40 分类:电源管理子系统

    Linux内核提供了三种Suspend: Freeze、Standby和STR(Suspend to RAM),在用户?#21344;?#21521;”/sys/power/state”文件分别写入”freeze”、”standby”和”mem?#20445;?#21363;可触发它们。

    内核中,Suspend及Resume过程涉及到PM Core、Device PM、各个设备的驱动、Platform dependent PM、CPU control等多个模块,涉及了console switch、process freeze、CPU hotplug、wakeup处理等过个知识点。就让我们跟着内核代码,一一见识它们吧。

    阅读全文>>

    标签: Linux 内核 suspend 电源管理 resume

    评论(113) 浏览(63991)

    Linux kernel的中断子系?#25345;?#20108;):IRQ Domain介绍

    作者:linuxer 发布于:2014-8-19 18:46 分类:中断子系统

    在linux kernel中,我们使用下面两个ID来标识一个来自外设的中断:

    1、IRQ number。CPU需要为每一个外设中断编号,我们称之IRQ Number。这个IRQ number是一个虚拟的interrupt ID,和?#24067;?#26080;关,仅仅是被CPU用来标识一个外设中断。

    2、 HW interrupt ID。对于interrupt controller而言,它?#21344;?#20102;多个外设的interrupt request line并向上传递,因此,interrupt controller需要对外设中断进行编码。Interrupt controller用HW interrupt ID来标识外设的中断。在interrupt controller级联的情况下,仅仅用HW interrupt ID已经不能唯一标识一个外设中断,还需要知道该HW interrupt ID所属的interrupt controller(HW interrupt ID在不同的Interrupt controller上是会重复编码的)。

    这样,CPU和interrupt controller在标识中断上就有了一些不同的概念,但是,对于驱动工程师而言,我们和CPU视角是一样的,我们只希望得到一个IRQ number,而不关系具体是那个interrupt controller?#31995;?#37027;个HW interrupt ID。这样一个好处是在中断相关的?#24067;?#21457;生变化的时候,驱动软件不需要修改。因此,linux kernel中的中断子系统需要提供一个将HW interrupt ID?#25104;?#21040;IRQ number上来的机制,这就是本文主要的内容。

    阅读全文>>

    标签: irq_domain

    评论(77) 浏览(67573)

    DMB DSB ISB以及SMP CPU 乱序

    作者:forion 发布于:2014-8-15 16:57

    ?#24674;来?#23478;对DMB DSB ISB以及SMP CPU 乱序,有没有认识。我想在这个讨论贴上面来跟大家讨论一下。

    标签: SMP 内存屏障 DSB DMB ISB

    评论(6) 浏览(14871)

    Linux kernel的中断子系?#25345;?#19968;):综述

    作者:linuxer 发布于:2014-8-14 19:12 分类:中断子系统

    一个合格的linux驱动工程师需要对kernel中的中断子系统有深刻的理解,只有这样,在写具体driver的时候才能:

    1、正确的使用linux kernel提供的的API,例如最著名的request_threaded_irq(request_irq)接口

    2、正确使用同?#20132;?#21046;保护驱动代码中的临界区

    3、正确的使用kernel提供的softirq、tasklet、workqueue?#28982;?#21046;来完成具体的中断处理

    基于上面的原因,我希望能够通过一系列的文档来描述清楚linux kernel中的中断子系统方方面面的知识。一方面是整理自己的思绪,另外一方面,希望能够对其他的驱动工程师(或者想从事linux驱动工作的工程师)有所帮助。


    阅读全文>>

    标签: 软件框架 中断子系统

    评论(81) 浏览(52116)

    开源的RF?#24067;?#24179;台

    作者:linuxer 发布于:2014-8-13 9:13

    http://greatscottgadgets.com/hackrf/

    http://www.hackrf.net/


    评论(13) 浏览(9256)

    启动regulator framework分析任务

    作者:linuxer 发布于:2014-8-12 19:36

    电源管理也是很有意思的内?#22235;?#22359;,原来蜗窝同学写了一些文章,我准备狗尾续貂,启动regulator framework分析任务

    评论(4) 浏览(5645)

    建立讨论区的原因

    作者:linuxer 发布于:2014-8-10 23:26

    这个网站的名字叫做“蜗窝科技?#20445;?#25152;谓蜗窝,就是蜗牛之家的意思,为那些愿意慢下来细细品味linux kernel中各种技术的“蜗牛”提供一个可以交流的平台。不过建站半年来,似乎广大人民群众参与度不够,使得这个网站看起来更像一个个人的博客。一个人的能力是有限的,?#27425;?#31456;需要时间,在工作比较忙碌的时候,其实很难保持不?#31995;?#26356;新。

    基于上面的想法,一个叫做讨论区的板块被创建了。发表在其他的板块的文章都会是一个成体系的文章,描述技术的某个方面。但是,发表在这个板块的文章没有这个限制,一句感悟、一句抱怨、一点建议、技术问题、一些天马行空的想法等等都可以随意在这里交流,没有任何的限制,而且,这里的文章不会出现在主页,大?#20063;?#24517;?#34892;?#29702;压力,尽情的灌水、吐槽吧~~~~

    评论(1) 浏览(4259)

    这是一篇发布在讨论区的测试文章

    作者:admin 发布于:2014-8-9 17:52

    最终目的不让它出现在首页文章?#25345;小?

    评论(0) 浏览(4435)

    Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog
    连码三全中是什么
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
    <dl id="0yoao"></dl>
  • <sup id="0yoao"></sup>
    <div id="0yoao"><tr id="0yoao"></tr></div>
  • <div id="0yoao"><tr id="0yoao"></tr></div>
  • 精准无错六肖中特六肖中特准王中王 牌九长短牌怎么分 福彩3d跨度走势图300期 博彩网站关于博彩投注 黑龙江十一选五最大遗漏号码 足彩奖金返奖率 娱乐场所上演色情表演 勇士vs开拓者赛前分析 百度十一运夺金走势图 3人斗地主牌型 彩客网完场比分直播 福彩中奖故事 河南11选5开奖结果 河北快3软件下载 浙江11选5杀号技巧