Displaying 2 results from an estimated 2 matches for "vmx_load_pdptr".
Did you mean:
vmx_load_pdptrs
2011 Sep 23
2
Some problems about xenpaging
...2m table */
- p2m_lock(d->arch.p2m);
set_p2m_entry(d, gfn, _mfn(PAGING_MFN), 0, p2m_ram_paged);
- p2m_unlock(d->arch.p2m);
/* Put the page back so it gets freed */
put_page(page);
+
+ ret = 0;
+out:
+ p2m_unlock(d->arch.p2m);
return 0;
}
3) fix the vmx_load_pdptrs() function in vmx.c
in this situation the page directory table is paged out.
Although using mdelay() is a bad idea, it''s better than making the xen crash
void vmx_load_pdptrs(struct vcpu *v)
{
unsigned long cr3 = v->arch.hvm_vcpu.guest_cr[3], mfn;
uint64_t *guest_pdptrs;...
2011 Nov 24
0
[PATCH 6/6] X86: implement PCID/INVPCID for hvm
...VM_EXIT_LOAD_HOST_PAT);
vmentry_ctl &= ~VM_ENTRY_LOAD_GUEST_PAT;
diff -r c61a5ba8c972 xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c Tue Nov 22 02:47:51 2011 +0800
+++ b/xen/arch/x86/hvm/vmx/vmx.c Tue Nov 22 16:15:19 2011 +0800
@@ -1004,7 +1004,7 @@ static void vmx_load_pdptrs(struct vcpu
if ( !hvm_pae_enabled(v) || (v->arch.hvm_vcpu.guest_efer & EFER_LMA) )
return;
- if ( cr3 & 0x1fUL )
+ if ( (cr3 & 0x1fUL) && !hvm_pcid_enabled(v) )
goto crash;
mfn = mfn_x(gfn_to_mfn(v->domain, cr3 >> PAGE_SHIFT, &...