This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

OS-programming


Hi everybody,

I regret, that I have to write my problem here, but I think it's my last
chance to solve my problem, so please, don't be angry, but it my problem has
ABSOLUTLY NOTHING to do with gcc!


I'm writing a little PM-program, but now I need to switch back to real mode.

After some hours of work this switch worked fine and I was back home in real
mode. But then a strange thing happened:

After I've loaded all registers with its new segments
(CS,DS,ES,FS,GS:0x800/SS:0x7e0) and loaded a new idt (content: dw 0x03ff dd
0) I reactivated the interrupts with sti.
After these steps, the processor always made a fault a rebooted, but I don't
know why. I search the point where the machine crashes with a death-loop
(die: jmp die) and found out, it was the sti.
I have no idea, why reboots, I didn't change any segments but 0x7c0-0x840
and 0xb800.
I tested also, if the stack-access results in the fault, but it doesn't.

Please help me!

Thanks

Thomas Lenher


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]