Bochs Error

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
cobrab

Bochs Error

Post 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.
whyme_t

Re:Bochs Error

Post by whyme_t »

The CPU is trying to access a descriptor at an index which is greater than the limit of your GDT?
Tim

Re:Bochs Error

Post 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).
cobrab

Re:Bochs Error

Post by cobrab »

I?m going to test whit a simple unit of Free Pascal may be here stay the problem thanks.
cobrab

Re:Bochs Error

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