interrupt debugging

I have some custom hw that generates PCI interrupts - inta. Recently,
my driver has started entering a state in which inta is no longer
serviced. Using windbg commands and a logic analyzer, I can see that
the hw continues to assert inta, and it de-asserts it when I read the
correct device register on my hw, and it re-asserts correctly later.
However, my driver’s ISR no longer gets called. The rest of the PC
continues to work seemingly fine.

Can anybody point me to a description of how to use windbg to debug such
a problem?

Thanks, Mark

Mark Roths
Softair Microsystems

The following comands will help:

. !idt - this will list the connected ISR’s - you should see your
ISR in the list for the vector that is connected to inta on your
device on the platform you are using…

. !ioapic (assuming you have an IOAPIC!) can be used to dump the
IOAPIC (duh!) - look for the entry corresponding to the vector
for your device, check that it is not masked, etc

. I think there is a !pic command as well if you are using ancient
hardware - dunno much about it though.

. !apic will dump the local APIC in the processor - when your device
has asserted its interrupt, you should see the corresponding
vector set in the IRR/ISR bitmap.

/simgr

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Roths
Sent: Monday, February 07, 2005 1:17 PM
To: Kernel Debugging Interest List
Subject: [windbg] interrupt debugging

I have some custom hw that generates PCI interrupts - inta. Recently,
my driver has started entering a state in which inta is no longer
serviced. Using windbg commands and a logic analyzer, I can see that
the hw continues to assert inta, and it de-asserts it when I read the
correct device register on my hw, and it re-asserts correctly later.
However, my driver’s ISR no longer gets called. The rest of the PC
continues to work seemingly fine.

Can anybody point me to a description of how to use windbg to debug such
a problem?

Thanks, Mark

Mark Roths
Softair Microsystems


You are currently subscribed to windbg as: xxxxx@stratus.com
To unsubscribe send a blank email to xxxxx@lists.osr.com