[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] monitor_table not zeroed when entering alloc_monitor_pagetable


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Khoa Huynh <khoa@xxxxxxxxxx>
  • Date: Tue, 1 Nov 2005 13:09:01 -0500
  • Delivery-date: Tue, 01 Nov 2005 18:06:11 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Problem (as reported by dsteklof@xxxxxxxxxx)
>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);

Solution:
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.

This patch has been tested well with VMX guests running WinXP.
Please let me know if you need further information, or if you
have any comments, suggestions, etc.  Thanks.

(See attached file: monitor_table.patch)

Regards,

Khoa

Attachment: monitor_table.patch
Description: Binary data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.