|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 3 of 4] Nested p2m: clarify logic in p2m_get_nestedp2
# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxx>
# Date 1308758648 -3600
# Node ID b265371addbbc8a58c95a269fe3cd0fdc866aaa3
# Parent dcb8ae5e3eaf6516c889087dfb15efa41a1ac3e9
Nested p2m: clarify logic in p2m_get_nestedp2m()
This just makes the behaviour of this function a bit more explicit. It
may be that it also needs to be changed. :)
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
diff -r dcb8ae5e3eaf -r b265371addbb 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
@@ -1131,11 +1131,9 @@ p2m_get_nestedp2m(struct vcpu *v, uint64
d = v->domain;
nestedp2m_lock(d);
- for (i = 0; i < MAX_NESTEDP2M; i++) {
- p2m = d->arch.nested_p2m[i];
- if ((p2m->cr3 != cr3 && p2m->cr3 != CR3_EADDR) || (p2m != nv->nv_p2m))
- continue;
-
+ p2m = nv->nv_p2m;
+ if ( p2m && (p2m->cr3 == cr3 || p2m->cr3 == CR3_EADDR) )
+ {
nv->nv_flushp2m = 0;
p2m_getlru_nestedp2m(d, p2m);
nv->nv_p2m = p2m;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|