IDT(Interrupt) problems...
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IDT(Interrupt) problems...
can't help you as long as i don't see your GDT as well ...
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IDT(Interrupt) problems...
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 ...
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 ...
Re:IDT(Interrupt) problems...
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...
"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...
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IDT(Interrupt) problems...
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
Re:IDT(Interrupt) problems...
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.
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.
Re:IDT(Interrupt) problems...
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)
(Could it hurt at all? - Cannot test today)