From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: trap bounce flags Date: Wed, 25 Apr 2007 10:56:36 +0100 Message-ID: <462F41F4.76E4.0078.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell , Keir Fraser Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org With the severe stability issues we are having with SLE10sp1 on x86-64, = things start pointing pretty closely at the int80 direct trap patch we imported = from -unstable. While I just now realized that there's been a fix for these = problems for quite a while (don't know how this slipped my attention), I still have = a few notes: - even compat_restore_all_guest now asserts interrupts are disabled, = despite 32-bit restore_all_guest not doing so (and the iret path not generally = needing this) - int80_direct_trap checks for non-zero TRAPBOUNCE_flags, yet {,compat_}create_bounce_frame clear the low byte of these flags (i.e. including TBF_exception, which is in this lower byte); it appears to be = only a lucky coincidence that this still works as the cmp (again!) is suffix-les= s and hence gets sized as a 32-bit compare, accidentally covering TRAPBOUNCE_cs= - from the above, why is it that only the lower byte (if anything) needs = clearing? Jan