Hi I think you are right. I observed the following from code where a vcpu gets created ( vmx_create_vcpu ) 1) Allocate a new VPID ( the first zero bit from the vmx vpid bitmap ) 2) Create an MMU ( can be softmmu or tdp ) 3) Allocate a VMCS to this VCPU and set the current_vmcs of CPU in use to this VMCS. 4) Set the TSS and GDT to this VMCS and load host state. 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 ? On Sat, 2011-10-15 at 20:04 +0800, 王永博 wrote: > I think each guest cpu has its VMCS strucure! > > 2011/10/15 Shashank Rachamalla <113050038@xxxxxxxxxx> > Hi > > After catching up with some reading on Intel VT-x, I could > understand > the use of VMCS ( virtual machine control structure ) which > allows a VMM > to specify instructions and events that cause VM entries and > exits. My > current understanding is that a VMCS structure is maintained > by VMM for > each guest and this structure is used by CPU during a VM entry > and VM > exit. However, I am not sure if each CPU core has a separate > VMCS > structure for each guest ? Also, does the number of guest > VCPUs > determine the number of VMCS structures required for a guest ? > Can > someone please help me figure out answers to these questions.. > > -- > 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 > -- 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