dpc专题

第二十七篇:Windows驱动中的PCI, DMA, ISR, DPC, ScatterGater, MapRegsiter, CommonBuffer, ConfigSpace

最近有些人问我PCI设备驱动的问题, 和他们交流过后, 我建议他们先看一看<<The Windows NT Device Driver Book>>这本书, 个人感觉, 这本书写得非常连贯流畅. PCI设备驱动基本包括了PCI的资源获取, 配置空间的读写, 中断的处理, 中断后半部在DPC中的处理. 同时, 也必须了解DMA, ScatterGater, MapRegister, Com

PCIe学习笔记(2)错误处理和AER/DPC功能

文章目录 PCIe ErrorAER (Advanced Error Reporting)DPC (Downstream Port Containment) 处理器上错误通常可分为detected和undetected error。Undetected errors可能变得良性(benign),也可能导致系统故障如silent data corruptions (SDC)。Detec

win8的DPC_WATCHDOG_VIOLATION蓝屏,现象与分析

最近本人的电脑发生了几点变化:第一是跟同事换了条比原来小的内存,助人为乐了;第二是安装了BusHound。之后电脑不太流畅是实情,但是更悲剧的事情在后面:每次弹出u盘的时候电脑都会死机,并且出现DPC_WATCHDOG_VIOLATION蓝屏重启。之前同事用小内存的时候虽然会卡,但是基本没死机过。所以,首先排除了内存的原因。发生几次之后本人发现了一个规律:如果是直接拔掉u盘则一切正常,如果用360

PCIe surprise down异常与DPC功能分析-part1

在PCIe系统中,多个设备通过PCIe链路连接在一起,形成一个复杂的互连网络。这些设备可能包括CPU、GPU、网卡、存储控制器等。由于PCIe是一种高速、低延迟的总线标准,任何设备故障或错误都可能迅速传播到整个系统,导致数据损坏、系统崩溃等问题。 为了应对这种风险,PCIe协议引入了多种错误检测和报告机制,如Advanced Error Reporting (AER)和Link Tr

dpc timer在win7中的改变....

_KiTimerTableList的符号被Ms抹去了,在我的win7 build 7600 pro中 偏移是0x12b6c0,_KiTimerTableSize的大小被缩减回0x100   entry也增加了一个锁 nt!_KTIMER_TABLE_ENTRY    +0x000 Lock             : 0    +0x004 Entry

DPC,时间中断,以及DPC定时器(2)

二、WRK中的时钟中断和DPC定时器 之前研究过一点应用 http://hi.baidu.com/andriy_aolala/blog/item/5aba868b235d50749f2fb437.html 为了每次时间中断能够搜索较少的链表 来获得定时器 这里引入了哈希表 。按照不同的时间段被分为512项 挂入链表中,每次中断后先计算出一个下标,然后快速找到相应链表 KiTimer

DPC,时钟中断,以及DPC定时器(1)

一、DPC DPC IRQL高于软件中断 低于硬件中断,硬中断之后,用来完成需要延迟处理的额外操作(当然你也可以用来干别的,比如指定运行某个函数的cpu) </