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.
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
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
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
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!