IDT-Interrupt-Descriptor-Table

From aldeid
Jump to navigation Jump to search

Description

The Interrupt Descriptor Table (IDT) stores the Interrupt Service Routine (ISR) information.

The IDT is an array of 256 8-byte entries, each containing a pointer to an interrupt handler, segment selector, and offset.

View IDT in WinDbg

In WinDbg, you can view this table by issuing the following command:

kd> !idt
Dumping IDT: fffff80000b95080
00:	fffff80002a8ac40 nt!KiDivideErrorFault
01:	fffff80002a8ad40 nt!KiDebugTrapOrFault
02:	fffff80002a8af00 nt!KiNmiInterrupt	Stack = 0xFFFFF80000BA7000
03:	fffff80002a8b280 nt!KiBreakpointTrap
04:	fffff80002a8b380 nt!KiOverflowTrap
05:	fffff80002a8b480 nt!KiBoundFault
06:	fffff80002a8b580 nt!KiInvalidOpcodeFault
07:	fffff80002a8b7c0 nt!KiNpxNotAvailableFault
08:	fffff80002a8b880 nt!KiDoubleFaultAbort	Stack = 0xFFFFF80000BA5000
09:	fffff80002a8b940 nt!KiNpxSegmentOverrunAbort
0a:	fffff80002a8ba00 nt!KiInvalidTssFault
0b:	fffff80002a8bac0 nt!KiSegmentNotPresentFault
0c:	fffff80002a8bc00 nt!KiStackFault
0d:	fffff80002a8bd40 nt!KiGeneralProtectionFault
0e:	fffff80002a8be80 nt!KiPageFault
10:	fffff80002a8c240 nt!KiFloatingErrorFault
11:	fffff80002a8c3c0 nt!KiAlignmentFault
12:	fffff80002a8c4c0 nt!KiMcheckAbort	Stack = 0xFFFFF80000BA9000
13:	fffff80002a8c840 nt!KiXmmException
1f:	fffff80002a6ac10 nt!KiApcInterrupt
2c:	fffff80002a8ca00 nt!KiRaiseAssertion
2d:	fffff80002a8cb00 nt!KiDebugServiceTrap
2f:	fffff80002ad9590 nt!KiDpcInterrupt
37:	fffff80003028090 hal!PicSpuriousService37 (KINTERRUPT fffff80003028000)
3f:	fffff80003028130 hal!PicSpuriousService37 (KINTERRUPT fffff800030280a0)
50:	fffff80003028270 hal!HalpCmciService (KINTERRUPT fffff800030281e0)
c1:	fffff80003028450 hal!HalpBroadcastCallService (KINTERRUPT fffff800030283c0)
d1:	fffff800030284f0 hal!HalpHpetClockInterrupt (KINTERRUPT fffff80003028460)
d2:	fffff80003028590 hal!HalpHpetRolloverInterrupt (KINTERRUPT fffff80003028500)
df:	fffff800030283b0 hal!HalpApicRebootService (KINTERRUPT fffff80003028320)
e1:	fffff80002a9a1f0 nt!KiIpiInterrupt
e2:	fffff80003028310 hal!HalpDeferredRecoveryService (KINTERRUPT fffff80003028280)
e3:	fffff800030281d0 hal!HalpLocalApicErrorService (KINTERRUPT fffff80003028140)
fd:	fffff80003028630 hal!HalpProfileInterrupt (KINTERRUPT fffff800030285a0)
fe:	fffff800030286d0 hal!HalpPerfInterrupt (KINTERRUPT fffff80003028640)
[SNIP]