|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: Manual differ from source code about Unrestricted Gu
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
|
|
|
|
|