OS-programming
Thomas Lenherr
lenherr@netpeople.ch
Sat Oct 20 04:46:00 GMT 2001
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
More information about the Gcc-help
mailing list