hi, i have a question about lgdt when initialize the VMCS, intel-vt structure.
in my code, i have to switch the gdt when my system enter the protect mode.
if i use lgdt switch GDT directly, the checking for VMCS will fail. the new GDT is the same as the old one, except the base address.
but if i rewrite the cs, es... after switch the GDT, the VMCS is fine.
what's the difference between them?
what's behind the lgdt
Re: what's behind the lgdt
You have to be more clear about what you're talking about.
Irrespective of that, GDT/GDTR manipulations must function the same way in guest and host OSes, irrespective of the existence of some Hypervisor using Intel-VT or AMD-Pacifica hardware-assisted virtualization.
Irrespective of that, GDT/GDTR manipulations must function the same way in guest and host OSes, irrespective of the existence of some Hypervisor using Intel-VT or AMD-Pacifica hardware-assisted virtualization.
Re: what's behind the lgdt
Do you mean changing the segment registers after loading the GDT?watermirror wrote:but if i rewrite the cs, es... after switch the GDT, the VMCS is fine.
This is always necessary to set the correct base, limit and privilege level of the segment.
"God! Not Unix" - Richard Stallman
Website: venom Dev
OS project: venom OS
Hexadecimal Editor: hexed
Website: venom Dev
OS project: venom OS
Hexadecimal Editor: hexed