aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorGeorge Dunlap <george.dunlap@eu.citrix.com>2012-03-08 09:16:09 +0000
committerGeorge Dunlap <george.dunlap@eu.citrix.com>2012-03-08 09:16:09 +0000
commit3d9ab2267f3aff4985caf3761887538e61a10c9c (patch)
tree2646229ab74759fb72af8d7e403c890d66bc1ada /xen
parentb5ab306e2b420d69b727df3b37679f88374f4410 (diff)
downloadxen-3d9ab2267f3aff4985caf3761887538e61a10c9c.tar.gz
xen-3d9ab2267f3aff4985caf3761887538e61a10c9c.tar.bz2
xen-3d9ab2267f3aff4985caf3761887538e61a10c9c.zip
x86: Add more specific logging for get_page_from_l1e failures
This patch should clarify which of the two possible reasons cause the messages of the form "(XEN) mm.c:908:d1 Error getting mfn 29b2b (pfn 5555555555555555) from L1 entry 0000000029b2b067 for l1e_owner=1, pg_owner=1". Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/x86/mm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index ff2ccd95e9..c7fd5f785e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -889,7 +889,12 @@ get_page_from_l1e(
*/
if ( (real_pg_owner == NULL) || (pg_owner == l1e_owner) ||
!IS_PRIV_FOR(pg_owner, real_pg_owner) )
+ {
+ MEM_LOG("pg_owner %d l1e_owner %d, but real_pg_owner %d",
+ pg_owner->domain_id, l1e_owner->domain_id,
+ real_pg_owner?real_pg_owner->domain_id:-1);
goto could_not_pin;
+ }
pg_owner = real_pg_owner;
}
@@ -905,7 +910,10 @@ get_page_from_l1e(
write = (l1f & _PAGE_RW) &&
((l1e_owner == pg_owner) || !paging_mode_external(pg_owner));
if ( write && !get_page_type(page, PGT_writable_page) )
+ {
+ MEM_LOG("Could not get page type PGT_writable_page");
goto could_not_pin;
+ }
if ( pte_flags_to_cacheattr(l1f) !=
((page->count_info & PGC_cacheattr_mask) >> PGC_cacheattr_base) )