阅读:1812回复:5
经验丰富的高手们,请进!!!关于IRQL的问题:能硬性指定硬件IRQ号所对应的IRQL么?
我在驱动程序中使用HalGetInterruptVector()函数测试了从IRQ0到IRQ23的IRQL值,如下:
IRQ 0: IRQL is 5 (ISA)System timer IRQ 1: IRQL is 10 (ISA)KeyBoard IRQ 2: IRQL is 5 (ISA)No Used IRQ 3: IRQL is 4 (ISA)No Used IRQ 4: IRQL is 9 (ISA)COM1 IRQ 5: IRQL is 10 (ISA)No Used IRQ 6: IRQL is 5 (ISA)Floppy disk controller IRQ 7: IRQL is 8 (ISA)No Used IRQ 8: IRQL is 9 (ISA)CMOS/real time clock IRQ 9: IRQL is 10 (ISA)Microsoft ACPI-Compliant System IRQ 10: IRQL is 6 (ISA)No Used (PCI)Intel(R) 82801EB SMBus Controller - 24D3 IRQ 11: IRQL is 7 (ISA)No Used IRQ 12: IRQL is 4 (ISA)PS/2 Compatible Mouse IRQ 13: IRQL is 7 (ISA)Numeric data processor IRQ 14: IRQL is 6 (ISA)Primary IDE Channel IRQ 15: IRQL is 8 (ISA)Secondary IDE Channel IRQ 16: IRQL is 8 (PCI)Intel(R) 82801EB USB Universal Host Controller (PCI)Intel(R) 82801EB USB Universal Host Controller IRQ 17: IRQL is 8 (PCI)Realtek AC\'97 Audio IRQ 18: IRQL is 8 (PCI)Intel(R) 82801EB USB Universal Host Controller IRQ 19: IRQL is 8 (PCI)Intel(R) 82801EB USB Universal Host Controller IRQ 20: IRQL is 8 (PCI)No Used IRQ 21: IRQL is 8 (PCI)No Used IRQ 22: IRQL is 8 (PCI)No Used IRQ 23: IRQL is 8 (PCI)Standard Enhanced PCI to USB Host Controller 其中各IRQ所对应的硬件是在Win2000的“系统”->“硬件”->“设备管理器”中查看的,从上面的测试可以看出:IRQ值与IRQL值并不一致,按理说IRQ0是所有ISA总线中中断级别最高的,但其对应的IRQL确只有5,比硬盘控制器的IRQL低,这样是否意味着当硬盘控制器中断正在执行时,系统时钟中断就必须等待?按我估计,当系统时钟中断正在执行时,尽管硬盘控制器的IRQL比较高,但是,由于其硬件IRQ的优先级比较低,因此8259将不会把其中断信号送到CPU中去,因此其应该不会打扰系统时钟中断的执行,但是反过来我就不知道会怎样了;还请高手们指点一二。 另外,IRQ所对应的IRQL值是Win2000内核分配的,能否人为改动呢?(我指的不是在中断服务程序中用Ke...()函数提高CPU的当前IRQL值),如果能的话就可以较容易的实现实时控制了,高手们多多指教。 [编辑 - 5/13/05 by zhenlongyang] |
|
沙发#
发布于:2005-05-12 02:12
我也有你一样问题 !!
我以parallel port做驱动,硬件是IRQ7,HalGetInterruptVector()返回mapped vector是0x37,IRQL是0x14,用windbg看是nt!KiUnexpectedInterrupt7. |
|
板凳#
发布于:2005-05-12 22:14
大侠们,多说点啦,大家一起交流,说得好一定给分,既然Win2000系统可以给定一个IRQ的IRQL值,那么同样都是使用“软”的方式,编驱动的程序员可有什么办法来更改IRQL值呢?
|
|
地板#
发布于:2005-05-13 09:16
大侠们,多说点啦,大家一起交流,说得好一定给分,既然Win2000系统可以给定一个IRQ的IRQL值,那么同样都是使用“软”的方式,编驱动的程序员可有什么办法来更改IRQL值呢? 由于现在中断控制器都是可编程的,改变它肯定行,但这方面的资料太少,所以不敢多言 :D |
|
|
地下室#
发布于:2005-05-13 22:31
自己顶一下,盼望高手们快点来。
|
|
5楼#
发布于:2005-05-15 01:14
有人能说清楚Windows实现IRQL的具体细节么?
|
|