interrupt(): SS selector null

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.
sancho1980
Member
Member
Posts: 199
Joined: Fri Jul 13, 2007 6:37 am
Location: Stuttgart/Germany
Contact:

Post by sancho1980 »

ok i'm pretty sure i know what the problem is, even though i haven#t yet a solution for it:

my keyboard interrupt procedure avails of other kernel subroutines. one of them is of course the putchar procedure. this procedure writes to video memory. because my ring3 tasks must of course not be allowed to write to video memory, they dont have the necessary selector for this segment in their tss..so when a keyboard int occurs,, a new cs is loaded, but the data segment selectors in ds, es, fs, and gs are stil the ones the ring3 task uses!!! completely forgot about that!
User avatar
ucosty
Member
Member
Posts: 271
Joined: Tue Aug 08, 2006 7:43 am
Location: Sydney, Australia

Post by ucosty »

This begs the obvious question, why are you pumping the scheduler from the keyboard interrupt?
The cake is a lie | rackbits.com
sancho1980
Member
Member
Posts: 199
Joined: Fri Jul 13, 2007 6:37 am
Location: Stuttgart/Germany
Contact:

Post by sancho1980 »

i'm not! i'm just handling the keypress
Post Reply