我在驱动程序中使用HalGetInterruptVector()函数测试了从IRQ0到IRQ23的IRQL值,如下:IRQ 0: IRQL is 5 (ISA)System timerIRQ 1: IRQL is 10 (ISA)KeyBoardIRQ 2: IRQL is 5 ...
全文
回复(16) 2005-05-15 02:30 来自版块 - 内核编程
表情
sharpor [/quote]你也没理解我的意思 ,我是说让你不要用 hal 导出的函数注册中断处理程序,我是让你直接去改中断向量表。跳到你的处理程序里去。这样你的中断就可以中断任何irql执行的程序了。 但是你也需要改irql不然你的中断处理程序又会被其他的中断 另外,你说irql...(2005-05-19 10:38)
wqmmmmm相信来这里的每一位都读过这本书,应该知道啊。。。 hoho所以平时还是多读点书先。。。。。 我没读过 不过感觉写得不错 书名是什么 (2005-05-18 17:34)
wqmmmmm楼上有几位没有理解我的意思,我指的不是在中断服务程序中提高CPU的当前IRQL级别,那是很容易的,而是如何能令自己的中断服务程序中断别的中断服务程序,比如,为系统时钟中断(IRQ0,IRQL=5)编的中断服务程序如何能中断正在执行的硬盘控制器中断(IRQ14,IRQL=6)服务程...(2005-05-18 17:27)
sharpor相信来这里的每一位都读过这本书,应该知道啊。。。 hoho所以平时还是多读点书先。。。。。(2005-05-18 15:42)
sharpor[返回] [上一页] [下一页] 中断请求级 -------------------------------------------------------------------------------- Windows NT为每个硬件中断和少数软件事件赋予...(2005-05-18 15:37)
sharpor现在进入os是apic在管理中断。 apic当然也有其自己的中断优先级。(2005-05-18 09:10)
alexe_chen有的资料讲,中断分为硬件中断,和异常(故障、陷阱、中止)等软件中断,硬中断又分为可屏蔽和不可屏蔽的。中断优先级为:软中断〉nmi中断〉intr中断。且IDT表中0-255均分配给软中断,那么硬件中断的处理程序是如何挂接的呢?irql又指的是什么?(2005-05-17 20:34)
zhenlongyang[quote [编辑 - 5/16/05 by zhenlongyang] [/quote] 现在PC不再用8259,改用APIC了,但还是兼容8259的控制命令的,新的APIC,高级可编程中断控制器,提供任何硬件中断到系统中断的映射.但是这方面资料我几乎没有,故不敢多言...(2005-05-17 19:09)
zhenlongyang楼上有几位没有理解我的意思,我指的不是在中断服务程序中提高CPU的当前IRQL级别,那是很容易的,而是如何能令自己的中断服务程序中断别的中断服务程序,比如,为系统时钟中断(IRQ0,IRQL=5)编的中断服务程序如何能中断正在执行的硬盘控制器中断(IRQ14,IRQL=6)服务程...(2005-05-17 19:06)
lifeship应该不可以改,硬件irql与irq的对应关系是操作系统内部定义出来的,而且,而且多核心和单核心对应关系还不一样,人为改掉,肯定会有问题。(2005-05-17 13:43)

返回顶部