This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] >I'm hitting an ASSERT in alloc_monitor_pagetable() with

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] >I'm hitting an ASSERT in alloc_monitor_pagetable() with debug=y and I
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 01 Nov 2005 20:02:05 +0000
Delivery-date: Tue, 01 Nov 2005 19:59:40 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID ae2e13795c639a450ba2133ed7759da9bdffb170
# Parent  305649f5ad568e9fbb51aa69659a724a6dde75f3
>I'm hitting an ASSERT in alloc_monitor_pagetable() with debug=y and I
>can reproduce the condition when debug isn't on. The monitor_table is
>not zeroed when entering alloc_monitor_pagetable() - this happens when I
>create a vmx guest. I'm not sure why this happening at first glance.
>File: xen/arch/x86/shadow32.c
>Line: 689
>System: VT/VMX FC3 x86_32 (I can reproduce on FC4 x86_64 too)
>ASSERT(pagetable_get_paddr(v->arch.monitor_table) == 0);

What happens is that the monitor page table is not zeroed out
during the initial setup for VMX guests.  As a result, at a later
time when we enable shadow mode for these VMX guests, we trip on
the ASSERT problem above.  To fix this, we just need to initialize
the monitor page table to 0 before calling vmx_final_setup_guest()
and enabling shadow mode.

diff -r 305649f5ad56 -r ae2e13795c63 xen/arch/x86/domain.c
--- a/xen/arch/x86/domain.c     Tue Nov  1 16:49:19 2005
+++ b/xen/arch/x86/domain.c     Tue Nov  1 18:13:06 2005
@@ -408,6 +408,9 @@
         if ( !pagetable_get_paddr(d->arch.phys_table) )
             d->arch.phys_table = v->arch.guest_table;
+        /* Initialize monitor page table */
+        v->arch.monitor_table = mk_pagetable(0);

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] >I'm hitting an ASSERT in alloc_monitor_pagetable() with debug=y and I, Xen patchbot -unstable <=