Debugging with NMI

David Grothe (dave@gcom.com)
Mon, 12 Jul 1999 11:27:32 -0500


Kernel hackers:

Maybe this is old hat, but it is new to me --

On an ISA bus machine, if you short out the A1 and B1 pins of an ISA
slot you will generate an NMI to the CPU. This interrupts even a
machine that is hung in a loop with interrupts disabled. Used in
conjunction with kgdb <
ftp://ftp.gcom.com/pub/linux/src/kgdb-2.2.6/kgdb-2.2.6.tgz > you can
gain debugger control of a machine that is hung in the kernel! Even
without kgdb the kernel will print a stack trace so you can find out
where it was hung.

The A1/B1 pins are directly opposite one another and the farthest pins
towards the bracket end of the ISA bus socket. You can stick a paper
clip or multi-meter probe between them to short them out.

I had a spare ISA bus to PC104 bus adapter around. The PC104 end of the
board consists of two rows of wire wrap pins. So I wired a push button
between the A1/B1 pins and now have an ISA board that I can stick into
any ISA bus slot for debugger entry.

Microsoft has a circuit diagram of a PCI card at
http://www.microsoft.com/hwdev/DEBUGGING/DMPSW.HTM. If you want to
build one you will have to mail them and ask for the PAL equations.
Nobody makes one comercially.

[THIS TIP COMES WITH NO WARRANTY WHATSOEVER. It works for me, but if
your machine catches fire, it is your problem, not mine.]

-- Dave (the kgdb guy)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/