IRQ and IDT

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Tom

IRQ and IDT

Post by Tom »

Ok..i've heard that the IDT should run in ring 3...So..

I'm ready to just get this overwith and get it done right so..

Where can I find and 100% complete IDT tutorial that handels everything? Like ring 3...(what is ring 2 for if 0 is kernel, 1 is (what is 1?) and what is 2, and 3 is protected?)

Thank you, and why Can't I use in from the keyboard with ints disabled?
PlayOS

Re:IRQ and IDT

Post by PlayOS »

Why is it that an IDT should run in ring 3?
Slasher

Re:IRQ and IDT

Post by Slasher »

hi,
the IDT is a table for interrupts defined by the OS and its suppose to be in protected memory ie kernel space and does not run at all!!!
It only serves as a way of specifying to the cpu where to get the interrupt service routine for a particular interrupt and also provides various info on the way to call the ISR ie interrupt task gate,interrupt trap etc
hope this helps :)
Warmaster199

Re:IRQ and IDT

Post by Warmaster199 »

I always thought that the IDT should run in ring 0 like the kernel...
Tom

Re:IRQ and IDT

Post by Tom »

ok..ring 0....but in and the C function inportb don't work still...
Post Reply