Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IDT - Interrupt Dispatch Table

1 view
Skip to first unread message

Melvyn

unread,
Mar 8, 2004, 1:01:36 AM3/8/04
to
Dear all,
In kernel debugger, we can use kd>!idt to dump interrupt dispatch table.
kd>!idt
Dumping IDT:

37: 806c8654 hal!PicSpuriousService37
3d: 806c99e4 hal!HalpApcInterrupt
41: 806c9858 hal!HalpDispatchInterrupt
50: 806c872c hal!HalpApicRebootService
83: 80f10ac4 atapi!IdePortInterrupt (KINTERRUPT 80f10a88)
atapi!IdePortInterrupt (KINTERRUPT 80f55c88)
b1: 80f663fc ACPI!ACPIInterruptServiceRoutine (KINTERRUPT 80f663c0)
c1: 806c8898 hal!HalpBroadcastCallService
d1: 806c7cb4 hal!HalpClockInterrupt
e1: 806c8df4 hal!HalpIpiHandler
e3: 806c8b70 hal!HalpLocalApicErrorService
fd: 806c9320 hal!HalpProfileInterrupt

I want to know which address does OS keep this table?
Thanks,
Melvyn

Maxim S. Shatskih

unread,
Mar 8, 2004, 9:03:49 AM3/8/04
to
IIRC the IDT table is a global variable in the kernel.

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
ma...@storagecraft.com
http://www.storagecraft.com


"Melvyn" <jeffre...@hotmail.com> wrote in message
news:8ffe9006.0403...@posting.google.com...

Calvin Guan

unread,
Mar 8, 2004, 5:34:54 PM3/8/04
to
Look at kd>!pcr

--
-
Calvin Guan Software Engineer
ATI Technologies Inc. www.ati.com


"Melvyn" <jeffre...@hotmail.com> wrote in message
news:8ffe9006.0403...@posting.google.com...

Melvyn

unread,
Mar 9, 2004, 9:52:04 PM3/9/04
to
"Calvin Guan" <cg...@pleasenospam.ati.com> wrote in message news:<uA63c.2515$G3.19639@localhost>...
> Look at kd>!pcr

kd> !pcr
KPCR for Processor 0 at ffdff000:
Major 1 Minor 1
NtTib.ExceptionList: 805417d8
NtTib.StackBase: 80541ff0
NtTib.StackLimit: 8053f200
NtTib.SubSystemTib: 00000000
NtTib.Version: 00000000
NtTib.UserPointer: 00000000
NtTib.SelfTib: 00000000

SelfPcr: ffdff000
Prcb: ffdff120
Irql: 00000000
IRR: 00000000
IDR: ffffffff
InterruptMode: 00000000
IDT: 8003f400
GDT: 8003f000
TSS: 80042000

CurrentThread: 8054a6a0
NextThread: 00000000
IdleThread: 8054a6a0

DpcQueue: 0x8054ace0 0x804ebf58 [Normal] nt!KiTimerExpiration

I dump the IDT address: 8003f000, but it looks not like IDT content.

EMP

unread,
Mar 9, 2004, 10:41:10 PM3/9/04
to

0x8003f000 is the GDT. The IDT is at 0x8003f400.
You can also issue SIDT (if you program in assembler) to get the address.

EMP

Melvyn

unread,
Mar 11, 2004, 10:58:02 PM3/11/04
to
EMP <new...@yahoo.com> wrote in message news:<q7w3c.78993$OH4....@fe2.texas.rr.com>...

Sorry, my typo.
I did dump th IDE with 8003f400.
But the content is nothing like IDT.
Can anyone figure out this?
Is there any document address the format of IDT ?
Thanks,

Melvyn

Scott Noone

unread,
Mar 12, 2004, 12:49:30 PM3/12/04
to
>
> Sorry, my typo.
> I did dump th IDE with 8003f400.
> But the content is nothing like IDT.
> Can anyone figure out this?
> Is there any document address the format of IDT ?
> Thanks,
>
> Melvyn

!idt is formatting the output for you. The IDT and its entries are
described in the Intel Architecture Developer's Manual, Volume 3.

-scott

Scott Noone
Software Engineer
OSR Open Systems Resources, Inc.
http://www.osronline.com

0 new messages