[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: Manual differ from source code about Unrestricted Guest
On Wed, 2011-06-08 at 06:01 +0100, confucius wrote: > Thank you, Ian and Tim. > But I am still blurry about Ian's explain, as follow: > "AIUI although the guest is in unpaged mode the _host_ is not and > therefore a pagetable is required from somewhere." Please bear in mind that I'm not an expert in this area. I might be talking rubbish... > I konw the host is set to paging and protected mode, so the host(VMM) need a > page table itself.But identity map table is pointed by GUEST_CR3, not by > HOST_CR3. GUEST_CR3 is the CR3 which the processor actually runs on when in guest (non-root) mode. However this is not necessarily the same as what the guest sees when it reads its CR3 register -- that read can be emulated (see hvm_mov_from_cr) when the guest visible and GUEST_CR3 state do not match. See vmx_update_guest_cr() where we enable/disable CPU_BASED_CR3_{LOAD,STORE}_EXITING (i.e. emulated cr3 accesses) as required by the guest current mode. Similarly for other CRx, i.e. GUEST_CR0 will (on the older VMX processors as Tim points out) contain CR0.PG=1 while what the guest reads from cr0 when it believes it isn't in paged mode will be CR0.PG=0. Ian. > The follow is: > xen-4.0/arch/x86/hvm/vmx/vmx.c > > static void vmx_update_guest_cr(...) > { > .... > switch ( cr ) > { > case 0: .... > case 2: .... > case 3: > if ( paging_mode_hap(v->domain) ) > { > if ( !hvm_paging_enabled(v) ) > v->arch.hvm_vcpu.hw_cr[3] = > v->domain->arch.hvm_domain.params[HVM_PARAM_IDENT_PT]; > vmx_load_pdptrs(v); > } > > __vmwrite(GUEST_CR3, v->arch.hvm_vcpu.hw_cr[3]); > hvm_asid_flush_vcpu(v); > break; > > } > > } > > >From such codes, I found GUEST_CR3 not HOST_CR3 point to the identity map > table with unpaged mode, > so I am confused by Ian's explain. > > > -- > View this message in context: > http://xen.1045712.n5.nabble.com/Manual-differ-from-source-code-about-Unrestricted-Guest-tp4462113p4466268.html > Sent from the Xen - Dev mailing list archive at Nabble.com. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |