IDT setup OK but "sti" woes!!

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
xsism

IDT setup OK but "sti" woes!!

Post by xsism »

IDT seems to setup ok. The prob is when i try to asm("sti"); it to re-init interrupts. i get a triple fault! sigh :/ can't figure it out. also, if u mask all ints does that make them unusable? any good tuts on IDT beside intel docs? do i just disable interrupt by XORing present bit? thanks in advance :)

Regards,
Mr. Xsism
xsism

Someone please help

Post by xsism »

i really need help with this. Are there any suggestions for what else might be causing the problem? please, this is a big hurdle in os dev. i need help!
THANX
Mr. Xsism
Phssthpok

RE:IDT setup OK but

Post by Phssthpok »

did you put at least 32 ring 0 32-bit interrupt gates into the IDT? (access byte = 8Eh)

route all interrupts to the same function, at first. you won't be able to tell the interrupts apart, but the first thing you want to do is to see if they work at all

do you have the correct IDT limit and (linear!) address in the pseudo-descriptor loaded by the LIDT instruction? (if you got LGDT to work properly, do the same thing for LIDT)

instead of testing your interrupt code by turning on hardware interrupts (sti), use a software interrupt instruction, e.g. asm("int $0x0F"); then you don't have to worry about the 8259 chips, or the other hardware stuff just yet

if all else fails, use Bochs with the built-in debugger to step through your code
xsism

thanx!

Post by xsism »

thank u!! i think that will work. thanx for the response and software int suggestion. I'll do that now and not worry about 'sti'ing just yet.
thanx again!

regards,
mr. xsism
Post Reply