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.
Intel x86_64 processor VMX control structures fetch
-
- Member
- Posts: 5822
- Joined: Mon Mar 25, 2013 7:01 pm