[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2 of 4] Nested p2m: remove bogus check of CR3 value
# HG changeset patch # User Tim Deegan <Tim.Deegan@xxxxxxxxxx> # Date 1308758648 -3600 # Node ID dcb8ae5e3eaf6516c889087dfb15efa41a1ac3e9 # Parent c323e69a0a08ce9f1e54d2e2fa2edd9845bc8efe Nested p2m: remove bogus check of CR3 value. 0 is a valid CR3 value; CR3_EADDR isn't but there's nothing stopping a guest from putting it in its VMCB. The special case was broken anyway since AFAICT "p2m->cr3" is a nester-cr3 (i.e. p2m-table) value and guest_cr[3] is an actual-cr3 (pagetable) value. Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx> diff -r c323e69a0a08 -r dcb8ae5e3eaf xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Wed Jun 22 17:04:08 2011 +0100 +++ b/xen/arch/x86/mm/p2m.c Wed Jun 22 17:04:08 2011 +0100 @@ -1122,8 +1122,8 @@ p2m_get_nestedp2m(struct vcpu *v, uint64 struct p2m_domain *p2m; int i; - if (cr3 == 0 || cr3 == CR3_EADDR) - cr3 = v->arch.hvm_vcpu.guest_cr[3]; + /* Mask out low bits; this avoids collisions with CR3_EADDR */ + cr3 &= ~(0xfffull); if (nv->nv_flushp2m && nv->nv_p2m) { nv->nv_p2m = NULL; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |