Page 1 of 1

Bochs Error

Posted: Wed Jan 29, 2003 2:08 pm
by cobrab
I execute my new code in bochs, but I receive a new error:

>>PANIC<< lldt: GDT: index > limit

registers:

EAX= 00002060
EBX= 00000000
ECX= 000effa1
EDX= 00000000
ESP= 00001ffc
EBP= 00002000
ESI= 0000ffe4
EDI = 0000ffe4

IOPL = 0 NV UP DI PL ZR NA PE CY

SEG sltr(index|ti|rpl) base limit G D
DS: 0010(0002| 0| 0) 00000000 000fffff 1 1
ES: 0010(0002| 0| 0) 00000000 000fffff 1 1
FS: 0010(0002| 0| 0) 00000000 000fffff 1 1
GS: 0010(0002| 0| 0) 00000000 000fffff 1 1
SS: 0010(0002| 0| 0) 00000000 000fffff 1 1
CS: 0008(0001| 0| 0) 00000000 000fffff 1 1
EIP=0009fcc6 (0009fcc2)


The base and limit of the segments it is ok.

But why index > limit?

Thanks.

Re:Bochs Error

Posted: Wed Jan 29, 2003 2:10 pm
by whyme_t
The CPU is trying to access a descriptor at an index which is greater than the limit of your GDT?

Re:Bochs Error

Posted: Wed Jan 29, 2003 2:27 pm
by Tim
Are you sure you want to the the LLDT instruction? If so, check the selector you're using with it. If not, try to work out why LLDT is being executed in the first place (maybe you're trying to execute a random address).

Re:Bochs Error

Posted: Wed Jan 29, 2003 2:32 pm
by cobrab
I?m going to test whit a simple unit of Free Pascal may be here stay the problem thanks.

Re:Bochs Error

Posted: Wed Jan 29, 2003 2:35 pm
by cobrab
Tim:

LLDT load a Local Descriptor table, if is true?

In my code I not use that.

The problem may be stay in the system unit.

Thanks.