IDT(Interrupt) problems...

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
Warmaster199

IDT(Interrupt) problems...

Post by Warmaster199 »

[attachment deleted by admin]
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:IDT(Interrupt) problems...

Post by Pype.Clicker »

can't help you as long as i don't see your GDT as well ...
Warmaster199

Re:IDT(Interrupt) problems...

Post by Warmaster199 »

[attachment deleted by admin]
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:IDT(Interrupt) problems...

Post by Pype.Clicker »

i suggest you try your int setup code with an INT xx before you enable IRQs with sti().
By the way, did you remap the PIC to some new values ? by default the clock IRQ is on interrupt 8, but in Pmode, this is an exception, so you'll receive an EXC8 every 18Hz ...
Warmaster199

Re:IDT(Interrupt) problems...

Post by Warmaster199 »

Exception 0x8 is double fault, right? I haven't got any of those yet. I DID set the PICs to what they should be... no problems there... I actually changed the timer to interrupt at 100Hz...

"i suggest you try your int setup code with an INT xx before you enable IRQs with sti()" ---> I don't quite understand what you're trying to say here...
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:IDT(Interrupt) problems...

Post by Pype.Clicker »

well, define a dummy system call service (for instance, using instruction INT 0x30 will call "print hello world" function) and try to get it working in your code instead of enabling IRQs (timer, keyboard, etc.). This way, you'll see if your IDT is properly set up, if your stub code works, etc. but in some conditions you can control rather than in conditions the machine controls ;)
Warmaster199

Re:IDT(Interrupt) problems...

Post by Warmaster199 »

If I don't set-up the other interrupts, It says "EXCEPTION ??: UNHANDLED EXCEPTION". Should I give it a dummy "IgnoreIRQ" function like LINUX does???

Why did everything work perfectly with my old kernel that loaded into 0x00000? It worked at that space, but messed at 0x10000...

I am going to change the CS and DS and see what it does. I'll change the base addresses by loading the GDT from the kernel.
Warmaster199

Re:IDT(Interrupt) problems...

Post by Warmaster199 »

I just thought of something now... I changed the linker args in the makefile to link to 0x10000, but does the start.s file have to have ORG 0x10000 in the front?
(Could it hurt at all? - Cannot test today)
Post Reply