内核是如何调用OEMInterruptHandler函数的?
我在OEMInterruptHandler函数中加入如下打印信息
RETAILMSG(1, (TEXT("OEMInterruptHandler@@Intr\intr.c: irq = %d \r\n"), irq));
没有想到出现了非常奇怪的结果,就是不停的打印了上面的信息。
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
OEMInterruptHandler@@Intrintr.c: irq = 0
并且系统会起来,我觉得这个是内核会循环调用OEMInterruptHandler函数的。这样用来处理中断。
哈哈,屏蔽之后就没有了,这样看来,这个内核会经常扫描这个函数。