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

[Xen-devel] Single step in HVM domU on Intel machine may see wrong DB6

  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, eddie.dong@xxxxxxxxx, jun.nakajima@xxxxxxxxx, yang.z.zhang@xxxxxxxxx
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
  • Date: Thu, 20 Feb 2014 09:36:47 +0100
  • Cc: Jan Beulich <JBeulich@xxxxxxxx>
  • Delivery-date: Thu, 20 Feb 2014 08:36:54 +0000
  • Domainkey-signature: s=s1536a; d=ts.fujitsu.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Message-ID:Date:From:Organization:User-Agent: MIME-Version:To:CC:Subject:Content-Type; b=oY391q0FthoBACDor2YhVTSxsfhwoH/vn3AC99FOBNxdvGfGwkYMaec7 pEFnsCQHZ5KnlczkNPo+E9vpDZyM1NF4zzNzSQN2RqkBFVL9//+ujYK/q /IxMDzOuUSpIS6kPuzeHTw3FSnToQUmW1TvWxWhS94NSs1+SyhCqTB/gQ QB00KqrJDVtjy4j434czbuZ7V9gOW9cDJOTwNs5mY7nrWohoKVdOBPQ/E ddBnd2T7Vfkr0pioNkyem1d4OYUu+;
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>


I think I've found a bug in debug trap handling in the Xen hypervisor in case
of a HVM domu using single stepping:

Debug registers are restored on vcpu switch only if db7 has any debug events
activated or if the debug registers are marked to be used by the domU. This
leads to problems if the domU uses single stepping and vcpu switch occurs
between the single step trap and reading of db6 in the guest. db6 contents
(single step indicator) are lost in this case.

Jan suggested to intercept the debug trap in the hypervisor and mark the
debug registers to be used by the domU to enable saving and restoring the
debug registers in case of a context switch. I used the attached patch (applies
to Xen 4.2.3) to verify this solution and it worked (without the patch a test
was able to reproduce the bug once in about 3 hours, with the patch the test
ran for more than 12 hours without problem).

Obviously the patch isn't the final one, as I deactivated the "monitor trap
flag" feature to avoid any strange dependencies. Jan wanted someone from the
VMX folks to put together a proper fix to avoid overlooking some corner case.


Juergen Gross                 Principal Developer Operating Systems
PBG PDG ES&S SWE OS6                   Telephone: +49 (0) 89 62060 2932
Fujitsu                                   e-mail: juergen.gross@xxxxxxxxxxxxxx
Mies-van-der-Rohe-Str. 8                Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

Attachment: single-step.patch
Description: Text Data

Xen-devel mailing list



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