ring3->ring0 multitasking

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.
Post Reply
samuelgoto

ring3->ring0 multitasking

Post 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
bluecode

Re:ring3->ring0 multitasking

Post 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
Post Reply