OSDev.org

The Place to Start for Operating System Developers
It is currently Sat Apr 27, 2024 7:39 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Interrupts
PostPosted: Mon Oct 22, 2001 11:02 pm 
I got pretty faR SINCE I my last post. I now load a small Testkernel into a new Segment and start it by jumping to a selector of a tss. The problem is that interrupts dont wrk.
if i cli then everything is fine. if i dont the machine resets.
Kernel and Loader (Prog. that loads the kernel) run in PL 0
InterrupttaBLE ISstill OK and ISR Code is not overwritten.

Please try to help me


Top
  
 
 Post subject: Re: Interrupts
PostPosted: Wed Nov 14, 2001 4:36 am 
The rebooting reeks of a triple fault to me.
That happens when an exception is thrown while trying to handle an exception.

Do you have any exception handlers in place for things like page faults?


Top
  
 
 Post subject: Re: Interrupts
PostPosted: Wed Nov 14, 2001 7:46 am 
I wrote handlers fpr interrupts 0-17. Sometimes theres an int 13. Every Exceptionhandler causes the pc to hang. And that works. (Hardware ints are shifted to 32++). AND: it works if interrupts are off. Also: there is nothing that could cause a triple fault. Code is:
BITS 32

GLOBAL start
start:
       cli
       mov     ax, 24
       mov     gs, ax
       mov     [gs:0], word 0x721
loopit:
       jmp     loopit

If i immediately switch back to the loader program everything is fine ... so i think that the timerinterrupt is the bad one. Theres a handler for it. Very misterious :-). I can send you the code if you want.


Top
  
 
 Post subject: Re: Interrupts
PostPosted: Wed Nov 21, 2001 8:10 am 
i tried something else:
i loaded the kernelfile into the same segment as the loader and tata...interrupts work....
...why dont they when i load loader and kernle to different segs?


Top
  
 
 Post subject: Re: Interrupts
PostPosted: Fri Nov 23, 2001 6:33 am 
aha aha aha....i know now.
I asked my it-prof...but he dont know nothing *g*
(he lives in his 16bit realmode world)

I now loaded kernel into a segment and used the dataseg of the loader program....and tata......

The problem was the printtime function that used some vars that lay in the dataseg of the loader.

Ok...thank you all.....or so...
nice monologue *g*


Top
  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: SemrushBot [Bot] and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group