Page 1 of 1

Intel x86_64 processor VMX control structures fetch

Posted: Mon May 26, 2025 7:28 am
by cianfa72
Hello, I'd like to dig into some detail about Intel VT-x implementation on x86_64 processors.

As far as I know, there are two main control structures involved in VMX operations: VMXON and VMCS regions. They are up to 4 KiB in size and are allocated from host physical memory (RAM).

VMX operations are enabled and managed by using VMXON and VMPTRLD instructions. Their operands are the m64 physical/machine addresses in RAM of the relevant VMX structures. Thus, for instance, VMPTRLD loads internally in the processor/core the physical address of a VMCS structure.

No my question is: are those structures actually fetched internally by the processor/core ? My question is related to how, for instance, x86 processors fetch internally the complete segment descriptors (even though they are hidden in segment registers and aren't accessible/visible from code) by loading the relevant segment selectors into segment registers (e.g. CS register). Thanks.

Re: Intel x86_64 processor VMX control structures fetch

Posted: Mon May 26, 2025 2:56 pm
by Octocontrabass
cianfa72 wrote: Mon May 26, 2025 7:28 amNo my question is: are those structures actually fetched internally by the processor/core ?
Yes, but the details are implementation-defined behavior.