Re: Intel VT-x VMCS doubt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Oct 15, 2011, Shashank Rachamalla wrote about "Re: Intel VT-x VMCS doubt":
> However, I am not sure when the CPU switches between host and guest
> state ? I came across instructions VMRUN and VMRESUME while reading
> which do a VM entry. I think guest state gets loaded when these
> instructions are executed. Someone please clarify ? 

Indeed - on VMLAUNCH or VMRESUME ("VMRUN" is an AMD instruction and not
relevant to your Intel question), the processor, among other things, sets
its state to the "guest state" specifies in the given VMCS. When the processor
decides to "exit" the guest (the host determines, in the VMCS, on which events
such exits happen), the processor loads back the "host state" as written in
the VMCS.

But after replying to your specific question, I'd recommend that before you
continue to ask these questions, you take some time to read an organized
introduction to VT-x. The official description of VMX (VT-x) by Intel can be
found in their Software Developer's Manual, volume 3, starting with Chapter 20
("Introduction to Virtual-Machine Extensions"). You can find it online (for
browsing or downloading everything as one PDF file) in

http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-3a-3b-system-programming-manual.html

Volume 2 of the same manual gives additional details on each instructions
like the aforementioned VMLAUNCH and friends.

-- 
Nadav Har'El                        |                    Sunday, Oct 16 2011, 
nyh@xxxxxxxxxxxxxxxxxxx             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |I started out with nothing... I still
http://nadav.harel.org.il           |have most of it.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux