Well, lets take it from the start.
Before entering, what intel call, IA32e 64 bit mode, one must first enter protected mode. So far so good. In order to do that one must set some descriptors and stuff, change a bit, and then we are in protected mode, and now the comfusion starts, bacause the intel manual states that: "in 64 bit mode segmentation is generally (but not completely) disabled" What does the middle part really mean? Further more in 64 bit mode discriptors is expanded to 80 bit, and wont that cause trouble as the previously loaded discriptors is 48 bit? Is paging really disabled? do you have to use pages? etc.
I have many more questions, but i guess the real question is if somebody know a guide/tutorial or simple sourcecode avalible.
Maybe i just have no idea what im talking about, but ill hope for an answer.
Thanks
intel IA32e 64 bit mode confusion
Re: intel IA32e 64 bit mode confusion
The GDT descriptors are still 8byte, but most of the information is ignored (look in the intel/amd manual, there is a nice colourfull diagramm). But the IDT descriptors are 18Byte wide and look quite different. The base address of fs/gs is not taken from the descriptor but from some weired MSR.Zacariaz wrote:Further more in 64 bit mode discriptors is expanded to 80 bit, and wont that cause trouble as the previously loaded discriptors is 48 bit?
yes, paging must be enabled, otherwise your not in long mode.Is paging really disabled? do you have to use pages?