Page 1 of 1

ring3->ring0 multitasking

Posted: Sat Nov 19, 2005 4:56 pm
by samuelgoto
Hi,

Ok, so now i am implementing some ring3->ring0 multitasking, stack based with one TSS entry ( much like beyond infitnity tutorial ).

I am getting a

fetch_raw_descriptor: LDTR.valid=0

on bochs and wiki and forums say that this is due to putting garbage on a segment register, with a 1 on the Table Indicator set, using a LDT when I really don't want to ... they say that this is usually because of assymetry between pushs and pops, causing this ...

the problem is that bochs halts and them i don't get the chance to view the cpu state before halting ( eip, registers, segments, etc ) so I can't debug ...

Did any of you had a simillar problem or could help me perhaps ? Is there any good way to debug this ? Any tips / ideas ?

I can see that CjMovie had some sort of problem with this ( and he made a good tutorial on multitasking, only wihout TSS ... ) ...

Thanks in advance, cya,mel

Re:ring3->ring0 multitasking

Posted: Sat Nov 19, 2005 5:11 pm
by bluecode
hi,

<guess>The error is in file *.* in line xxx: The function generateBochsError(FETCH_RAW_DESCRIPTOR) shouldn't be called here ;D </guess>

Perhaps some code would simplify helping you, don't you think so? Or should we guess?
the problem is that bochs halts and them i don't get the chance to view the cpu state before halting ( eip, registers, segments, etc ) so I can't debug ...
When bochs halts the register state is in the log file...

Don't take me too serious :P