Bochs explanation needed...
Posted: Wed Jan 22, 2003 8:11 pm
OK people my brain stopped its interacting with outer world, does not recognise programming language patterns any more, I can only write this and then go to sleep, I have no interest in writing a mm until tomorrow -In fact it is 4:14AM now, so tomorrow is 19 hours and 46 Minutes later but untl then I will be ready to go on I think-... Enough chatting please tell me what this bohcsout.txt text means...
...
00000506022e[HD ] device set to 0 which does not exist
00000506315e[HD ] device set to 1 which does not exist
00004109734p[CPU ] >>PANIC<< fetch_raw_descriptor: LDTR.valid=0
00004109734i[SYS ] Last time is 1043287679
00004109734i[CPU ] protected mode
00004109734i[CPU ] CS.d_b = 32 bit
00004109734i[CPU ] SS.d_b = 32 bit
00004109734i[CPU ] | EAX=003ff000 EBX=00011000 ECX=0000007f EDX=0000002e
00004109734i[CPU ] | ESP=0000ffdf EBP=0000fff7 ESI=00003944 EDI=00000005
00004109734i[CPU ] | IOPL=0 NV UP EI PL NZ NA PO NC
00004109734i[CPU ] | SEG selector base limit G D
00004109734i[CPU ] | SEG sltr(index|ti|rpl) base limit G D
00004109734i[CPU ] | DS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | ES:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | FS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | GS:0008( 0001| 0| 0) 00000000 000fffff 1 1
00004109734i[CPU ] | SS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | CS:0018( 0003| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | EIP=000037a2 (000037a1)
00004109734i[CPU ] | CR0=0xe0000011 CR1=0x00000000 CR2=0x00400000
00004109734i[CPU ] | CR3=0x00010000 CR4=0x00000000
...
Here, I am simply creating an artificial page fault at 0x400000, what does LDTR.valid=0 mean? Do we need an LDT for being able to handle page faults? thanx...
...
00000506022e[HD ] device set to 0 which does not exist
00000506315e[HD ] device set to 1 which does not exist
00004109734p[CPU ] >>PANIC<< fetch_raw_descriptor: LDTR.valid=0
00004109734i[SYS ] Last time is 1043287679
00004109734i[CPU ] protected mode
00004109734i[CPU ] CS.d_b = 32 bit
00004109734i[CPU ] SS.d_b = 32 bit
00004109734i[CPU ] | EAX=003ff000 EBX=00011000 ECX=0000007f EDX=0000002e
00004109734i[CPU ] | ESP=0000ffdf EBP=0000fff7 ESI=00003944 EDI=00000005
00004109734i[CPU ] | IOPL=0 NV UP EI PL NZ NA PO NC
00004109734i[CPU ] | SEG selector base limit G D
00004109734i[CPU ] | SEG sltr(index|ti|rpl) base limit G D
00004109734i[CPU ] | DS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | ES:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | FS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | GS:0008( 0001| 0| 0) 00000000 000fffff 1 1
00004109734i[CPU ] | SS:0010( 0002| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | CS:0018( 0003| 0| 0) 00001000 000fffff 1 1
00004109734i[CPU ] | EIP=000037a2 (000037a1)
00004109734i[CPU ] | CR0=0xe0000011 CR1=0x00000000 CR2=0x00400000
00004109734i[CPU ] | CR3=0x00010000 CR4=0x00000000
...
Here, I am simply creating an artificial page fault at 0x400000, what does LDTR.valid=0 mean? Do we need an LDT for being able to handle page faults? thanx...